6 советов, как улучшить производительность выражений SELECT в SQL

29 апреля 2015
Одним из способов улучшить производительность работы с базой данных – это поработать над выражениями SELECT при обращении к ней. На что надо обратить внимание?

Проверьте индексы

Индексы должны быть для всех полей, используемых в операторах WHERE и JOIN.

Ограничьте размер вашего рабочего набора данных

Посмотрите на таблицы, которые вы используете в выражениях SELECT, с точки зрения того, можно ли применить фильтры там, где используется WHERE. Классический пример – это когда сначала запрос исполняется быстро, пока в базе данных всего несколько тысяч строк в таблице. По мере того, как приложение растет, запрос выполняется все медленнее. Решение может быть таким простым, как ограничить запрос данными текущего месяца. Если у вас в запросах используются вложенные SELECT, попробуйте применить фильтры к внутренним выражениям.

Выбирайте только те поля, которые вам нужны

Дополнительные поля увеличивают данные, которые возвращаются к SQL-клиенту. Также, когда вы работаете с приложениями в области отчетов или аналитики, иногда низкая производительность отчета может быть связана с тем, что средство создания отчета проводит агрегацию данных, полученных в детальной форме. Запрос может выполняться быстро, но проблема может быть в сети, поскольку большой объем данных по сети передается туда, где строится отчет.

При использовании столбцовых баз данных, чем меньше столбцов вы запрашиваете, тем меньше будет нагрузка на ввод-вывод