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