Как расследовать slow query в PostgreSQL?
Коротко
Нужно собрать query plan, actual timings, statistics, locks, indexes и нагрузочный контекст.
Нужно собрать query plan, actual timings, statistics, locks, indexes и нагрузочный контекст.
Сильный ответ должен раскрыть: EXPLAIN ANALYZE; buffers; pgstatstatements; indexes; lock waits.
Важно не допустить типичные ошибки: сразу добавлять index; не смотреть actual rows; не проверять regression после fix.
Что хочет услышать интервьюер
EXPLAIN ANALYZE
buffers
pg_stat_statements
indexes
lock waits
Пример: PostgreSQL example
EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
Типичные ошибки
сразу добавлять index
не смотреть actual rows
не проверять regression после fix


