Блог "Дети ОИТа"
/поиск

Оптимизация запросов в PostgreSQL

Введение

Оптимизация запросов в PostgreSQL — это правильные индексы, планы и настройки.

Подход

  • Читайте планы: EXPLAIN (ANALYZE, BUFFERS, VERBOSE).
  • Устраняйте seq scan там, где уместен index scan.
  • Боритесь с bloat и неправильной статистикой: ANALYZE, VACUUM.

Практики

  • Покрывающие индексы и INCLUDE.
  • Частичные и многоколоночные индексы.
  • Переписывайте запросы: избегайте функций на индексируемых колонках.

Чек-лист

  • Настройте autovacuum под нагрузку.
  • Мониторьте pg_stat_statements; фиксируйте «тяжёлые» запросы.
  • Проверяйте locks и wait events.