Иногда запрос, который вы пишете, может быть одноразовым или для небольшого набора данных. Но часто вы можете запрашивать данные на веб-сайте с огромными наборами данных. Поэтому очень важно, чтобы вы писали оптимизированные и эффективные запросы, которые хорошо работают для вашего варианта использования.

Давайте посмотрим, что мы можем сделать?

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

show_amount_of_data_scanned()
show_time_to_run()

Без каких-либо дополнительных объяснений из самого имени функции вы должны были понять использование этих запросов.

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

Звезды очень красивые! Верно?

Во всяком случае, не здесь.

  1. Выберите только те столбцы, которые нужны для вашего варианта использования.

Вместо того, чтобы использовать

select * from table

Вы можете указать имя столбца, с которым хотите работать.

select name, id from table

Вы должны знать, что текстовое поле больше. Поэтому, если вы можете указать нужные кулумы, вы можете избежать нежелательных столбцов с текстовым полем.

2) Следующее, над чем вы можете работать, это прочитать минимальное количество данных.

Вы можете прочитать только необходимый объем данных. Используя агрегатные функции и функции группировки по функциям, вы можете свести к минимуму объем данных, которые вы читаете.

3) Используя With, As, Unnest, вы можете изменить свои запросы на объединение N:N на лучшие запросы, которые считывают гораздо меньше данных, что приводит к увеличению скорости.

Спасибо за чтение….

Использованная литература: