Sobes.tech
Senior

Yavaş SQL sorgusunu nasıl optimize edilir? EXPLAIN ve EXPLAIN ANALYZE nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Оптимизация медленного SQL-запроса начинается с анализа его плана выполнения. Для этого используются команды EXPLAIN и EXPLAIN ANALYZE.

  • EXPLAIN показывает план выполнения запроса, как его видит СУБД, без фактического запуска.
  • EXPLAIN ANALYZE выполняет запрос и показывает реальное время выполнения каждой операции, что помогает выявить узкие места.

Основные шаги оптимизации:

  1. Изучить план выполнения, обратить внимание на полные сканирования таблиц (Seq Scan), отсутствие индексов.
  2. Добавить или изменить индексы для ускорения поиска.
  3. Переписать запрос для более эффективного использования индексов.
  4. Уменьшить объем обрабатываемых данных (фильтрация, агрегация).

Пример использования EXPLAIN в PostgreSQL:

EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 123;

Это покажет, сколько времени занимает поиск и какие операции выполняются.