Содержание

SQL оптимизация | Блог Кирилла Грищука

Материалы

Видео доступно по ссылке

О чем этот ролик

Оптимизация SQL-запросов: ключевые моменты из видео

В видео к статье подробно рассматриваются основные техники и подходы для оптимизации SQL-запросов. Основные моменты:

Использование индексов

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

Понимание планов выполнения запросов

План выполнения запроса помогает понять, как база данных будет выполнять запрос, и позволяет выявить потенциальные узкие места. Использование команды EXPLAIN (или ее аналогов) позволяет анализировать план выполнения и находить места, где можно внести улучшения.

Избегание SELECT wildcard

Запросы с SELECT * могут быть неэффективными, так как возвращают все столбцы, даже если они не нужны. Лучше указывать конкретные столбцы, которые требуются, чтобы уменьшить объем передаваемых данных и ускорить выполнение запроса.

Нормализация и денормализация данных

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

Оптимизация JOIN-операций

Важно тщательно выбирать типы соединений (например, INNER JOIN вместо LEFT JOIN, если это возможно), а также правильно индексировать поля, участвующие в соединениях, чтобы ускорить выполнение запросов.

Разобрал:

  • Проблему: техническую и продуктовую зачем это делать
  • Основные инструменты анализа
  • EXPLAIN ANALYZE
  • Оптимизация с индексами
  • Профилирование и оптимизация JOIN
  • Работа с SELECT-запросами