Многие клиенты испытывают проблемы с производительностью приложений хранилищ данных. В некоторых случаях SQL-запросы, которые генерирует Oracle Analytics, сложны для анализа. В этом разделе приведены некоторые общие нормативы по анализу и решению проблем с производительностью, которые могут возникать из-за запросов SQL, созданных Oracle Analytics.
В этом разделе не рассматриваются проблемы с производительностью, которые связаны с сетью, браузером или представлением отчетов.
Анализ журнала запросов для Oracle Analytics (требуется 3 уровень журнала)
Подробнее о том, как найти этот журнал и проанализировать его содержимое см. в разделе "Сбор и анализ журналов запросов".
Анализ физического запроса SQL
SELECT
и к которым не применяются фильтры (настоящие, а не условия соединения).REPORT_AGGREGATE
, count(distinct)...
), этапов выбора, подзапросов в отчете, операторов набора (UNION
), итогов, промежуточных итогов, нескольких представлений и т. д.Анализ плана выполнения
Проверьте и улучшите модель данных для сокращения объема чтения данных
Например, если пользователи в основном выбирают данные за текущий год, квартал или месяц, можно разделить фактическую таблицу на две – текущую и архивную. Для базы данных Oracle также можно использовать создание разделов.
Объем чтения данных зависит не только от количества строк в каждой таблице. Объем таблицы также зависит от количества и размера столбцов. Например, можно разделить большую таблицу с 500 столбцами на две таблицы: в одной будет 50 столбцов, которые используются чаще всего, а в другой – оставшиеся 450, которые редко используются.
Многие проблемы с производительностью в Oracle Analytics возникают из-за плохого макета, так как это приводит к созданию неоптимальных запросов SQL. Изменив макет, можно улучшить запросы SQL, которые создает Oracle Analytics. Это может существенно повлиять не только на производительность отчетов, но и на объем ресурсов, которые использует база данных.