Вот 15 принципов, которые стоит применять на практике:
1. Избегайте
SELECT *: выбирайте только нужные столбцы.2. Отфильтровывайте ненужные строки с помощью
WHERE.3. Понимайте разницу между
INNER JOIN и LEFT JOIN.4. Используйте CTE вместо громоздких подзапросов для улучшения читаемости.
5. Не маскируйте ошибки логики лишним
DISTINCT.6. Используйте
UNION ALL, если удалять дубликаты не требуется.7. Освойте оконные функции для сложных расчётов.
8. Согласовывайте типы данных, чтобы избежать неявных преобразований.
9. Сравнивайте планы для
EXISTS и IN: первый не всегда быстрее.10. Убирайте
ORDER BY, если сортировка не нужна.11. Используйте
CROSS JOIN только когда действительно нужно декартово произведение.12. Учитывайте, что функции над индексированными столбцами могут мешать использованию обычного индекса.
13. Используйте
CASE для понятной условной логики.14. Изучайте план выполнения через
EXPLAIN; помните, что EXPLAIN ANALYZE действительно выполняет запрос.15. Проверяйте корректность на небольших наборах данных, а производительность — на объёмах, близких к реальным.
👉 @SQLPortal
