JOIN с подзапросом, группировкой и HAVING | Практика по SQL
Основное руководство по порядку выполнения SQL запросов
Раскрытие скрытой логики, стоящей за порядком выполнения команд SQL. SQL стал обязательным языком для любого специалиста по обработке данных. Большинство из нас использует SQL в нашей повседневной работе, и после написания множества запросов у всех вырабатывается свой собственный стиль и свои привычки, как хорошие, так и плохие. SQL обычно изучается в процессе использования, и в большинстве случаев люди обычно не понимают логики, стоящей за ним. Вот почему сегодня мы погружаемся в интригующий мир...
🚀 Оптимизация SQL запросов В SQL-запросе операторы выполняются в следующем порядке: 1. FROM / JOIN 2. WHERE 3. GROUP BY 4. HAVING 5. SELECT 6. DISTINCT 7. ORDER BY 8. LIMIT / OFFET Приемы, применяемые на каждом этапе, помогают ускорить выполнение следующих шагов. Поэтому важно знать порядок их выполнения. Чтобы добиться максимальной эффективности, сосредоточьтесь на оптимизации шагов, расположенных на более ранних этапах запроса. С учётом этого рассмотрим некоторые советы по оптимизации: Максимизируйте выражение `WHERE`. Это выражение выполняется раньше, поэтому оно предоставляет хорошую возможность уменьшить размер набора данных до того, как будет обработана остальная часть запроса. Фильтруйте строки перед `JOIN` Хотя запрос FROM/JOIN выполняется первым, всё равно можно ограничить количество строк. Чтобы ограничить количество присоединяемых строк, используйте подзапрос в операторе FROM вместо таблицы. Используйте `WHERE` вместо `HAVING` Выражение HAVING выполняется после WHERE и GROUP BY. Это означает, что при возможности стоит перенести все необходимые условия в выражение WHERE. Не путайте `LIMIT`, `OFFSET` и `DISTINCT` с методами оптимизации Легко предположить, что они повышают производительность за счет минимизации набора данных, но это не так. Поскольку они выполняются в конце запроса, они практически не влияют на его производительность. 🖥 Порядок выполнения CQL запроса 📱 @dev-notes.ru #SQL #DataBase #tips