Это часто встречается для анализов, которые содержат неиспользуемые столбцы. Необязательные столбцы, которые все равно выбираются, существенно влияют на производительность. В этом разделе объясняется, как улучшить производительность, убрав все необязательные столбцы.
Определите неиспользуемые столбцы
Год
), влияет на производительность:
На следующей иллюстрации показан простой отчет с количеством клиентов по регионам и годам.
.jpg
Отображаемый отчет представляет собой график, показывающий количество клиентов по регионам. Обратите внимание, что столбец Год
исключен.
.jpg
Логический запрос с неиспользуемым столбцом "Год"
Даже если столбец Год
не отображается в представлении, он все равно остается выбранным как часть логического запроса.
.jpg
Год
имеет следующий эффект:
Физический запрос с неиспользуемым столбцом "Год"
При просмотре физического запроса можно определить области со сниженной производительностью.
.jpg
В этом примере показывается SELECT count distinct
из правила агрегирования количества клиентов. В некоторых ситуациях это также влияет на отчеты с правилом агрегирования суммы. Сгенерированный запрос в этом сценарии также использует набор группирования. На уровне базы данных это может быть выборка большого количества строк (миллионов), а затем необходимость сгруппировать их по Году
и Региону
, а также поРегиону
. Для этого требуются значительные и неоправданные ресурсы базы данных.
Удаление неиспользуемых столбцов
Уберите столбец Год
и проверьте, как это отразится на создании логических и физических запросов.
Логический запрос после удаления столбца "Год"
Теперь логический запрос не содержит столбца Год
и, что еще важнее, агрегирование отчета удалено.
.jpg
Физический запрос после удаления столбца "Год"
Физический запрос стал намного проще, так как теперь он не включает наборы группирования, а количество выбранных записей значительно сократилось.
.jpg
Анализируя неэффективные отчеты и удаляя лишние неиспользуемые столбцы, можно добиться значительного повышения производительности. Снизилась сложность созданного физического запроса. Возвращается меньшее количество записей, поэтому требуется меньше обработки.