Настройка производительности за счет исключения столбцов

Это часто встречается для анализов, которые содержат неиспользуемые столбцы. Необязательные столбцы, которые все равно выбираются, существенно влияют на производительность. В этом разделе объясняется, как улучшить производительность, убрав все необязательные столбцы.

Определите неиспользуемые столбцы

Включение в анализ столбцов, которые исключены из представления (например, Год), влияет на производительность:
  • Увеличение объема данных, которые необходимо извлекать из базы данных
  • Увеличение количества столбцов, которые необходимо извлекать и обрабатывать
  • Установка для анализа принудительного вычисления результатов на нескольких уровнях агрегирования

На следующей иллюстрации показан простой отчет с количеством клиентов по регионам и годам.

Описание GUID-39B953E5-433E-4991-B3BA-BB1064CE8D83-default.jpg ниже
.jpg

Отображаемый отчет представляет собой график, показывающий количество клиентов по регионам. Обратите внимание, что столбец Год исключен.

Описание GUID-CFF82673-4988-4185-915E-0F1AA5027E42-default.jpg ниже
.jpg

Логический запрос с неиспользуемым столбцом "Год"

Даже если столбец Год не отображается в представлении, он все равно остается выбранным как часть логического запроса.

Описание GUID-104759F4-A6F4-4366-ACD6-472BA2931E18-default.jpg ниже
.jpg

Включение в анализ столбца Год имеет следующий эффект:
  • Извлекаются и обрабатываются дополнительные столбцы.
  • Извлекаются и обрабатываются дополнительные строки, так как количество строк клиентов выбирается не только по регионам, но и по годам.
  • Требуется дополнительное агрегирование.

Физический запрос с неиспользуемым столбцом "Год"

При просмотре физического запроса можно определить области со сниженной производительностью.

Описание GUID-D9F85168-B448-49BE-9261-78270C01784C-default.jpg ниже
.jpg

В этом примере показывается SELECT count distinct из правила агрегирования количества клиентов. В некоторых ситуациях это также влияет на отчеты с правилом агрегирования суммы. Сгенерированный запрос в этом сценарии также использует набор группирования. На уровне базы данных это может быть выборка большого количества строк (миллионов), а затем необходимость сгруппировать их по Году и Региону, а также поРегиону. Для этого требуются значительные и неоправданные ресурсы базы данных.

Удаление неиспользуемых столбцов

Уберите столбец Год и проверьте, как это отразится на создании логических и физических запросов.

Логический запрос после удаления столбца "Год"

Теперь логический запрос не содержит столбца Год и, что еще важнее, агрегирование отчета удалено.

Описание GUID-A28E8FC3-37ED-4350-866C-A9BC58356833-default.jpg ниже
.jpg

Физический запрос после удаления столбца "Год"

Физический запрос стал намного проще, так как теперь он не включает наборы группирования, а количество выбранных записей значительно сократилось.

Описание GUID-96421968-C978-4383-853C-EAACB0079CEB-default.jpg ниже
.jpg

Анализируя неэффективные отчеты и удаляя лишние неиспользуемые столбцы, можно добиться значительного повышения производительности. Снизилась сложность созданного физического запроса. Возвращается меньшее количество записей, поэтому требуется меньше обработки.