Начните с конкретного медленного запроса и измерений, затем изучите план, фактические строки, чтение буферов и ожидания. Меняйте только выявленное узкое место и сравнивайте результат.
На примере любой задачи расскажите, как вы искали узкие места в запросах к PostgreSQL: что использовали и как находили проблему?
Начните с конкретного медленного запроса и измерений, затем изучите план, фактические строки, чтение буферов и ожидания. Меняйте только выявленное узкое место и сравнивайте результат.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Начните с конкретного медленного запроса и измерений, затем изучите план, фактические строки, чтение буферов и ожидания. Меняйте только выявленное узкое место и сравнивайте результат.
На интервью разберите реальный случай: плохая оценка селективности, отсутствующий индекс, лишняя сортировка или блокировка. pg_stat_statements помогает найти дорогие запросы, EXPLAIN показывает план. EXPLAIN ANALYZE исполняет запрос, поэтому для изменяющих или тяжёлых операций нужна безопасная среда. Не утверждайте, что любой Seq Scan плох: на большой доле таблицы он может быть оптимален.