Приложение выполняет огромное количество небольших запросов

Это весьма часто происходит при использовании современных ORM и других инструментов, которые выполняют за програм­миста некоторую долю его работы, но при этом скрывают часть происходящего.
Например, вы создаете отчет в HTML с помощью запроса па язы­ке с использованием шаблонов, а потом пишете функцию просмотра шаблона по идентификатору. У вас может получиться форма, которая выполняет запрос для каждой строки, даже когда значения запраши­ваются одновременно. Эти запросы могут не представлять проблемы, пока запрашиваемые данные находятся в оперативной памяти, но если запросов множество, возникают осложнения: задержки сети, не­оптимальное планирование запросов и т. п. В запросах SQL можно встретить два типа осложнений: Оба типа запросов могут быть написаны программистами или по­лучены с помощью генераторов запросов. Сначала убедитесь, что запрос действительно чересчур усложнен. Запрос, возвращающий много данных, сам по себе не является ус­ложненным. По-настоящему сложный запрос — тот, который соеди­няет много таблиц сложными способами. Простейший способ определить, насколько сложен запрос, — ис­пользование префикса Explain. Если В Выводе большое количество строк, то запрос можно считать сложным. Для упрощения запроса обычно следует реструктурировать его так, чтобы выделить части, которые можно определить отдельно и затем использовать в разных частях запроса.
Рассмотрим конкретный пример. Перепишем следующий запрос несколькими способами. Это запрос типа pivot или crosstab , объединяющий квартальные прибыли всех мага­зинов следующим образом:



Рубрика: Женский интерес

Комментарии закрыты.