Базы данных
Планы выполнения: тест на припоминание
Припоминание сильнее перечитывания. На каждый промпт реконструируй полный ответ по памяти, прежде чем открыть эталонный — именно усилие припоминания закрепляет дисциплину чтения планов, когда ты смотришь на медленный запрос в 2 часа ночи.
Реконструируй хребет юнита, не подглядывая: как читать EXPLAIN ANALYZE, почему оценки строк каскадируют, как стоимость задаёт выбор scan и join, что чинят extended statistics и каков операционный playbook стабильности планов.
- 01Какое число в плане EXPLAIN ANALYZE самое диагностичное и почему?
- 02Как планировщик выбирает между Seq Scan, Index Scan, Bitmap Heap Scan и Index Only Scan?
- 03Объясни каскад ошибок оценки строк и почему он делает Nested Loop катастрофой.
- 04Почему предположение планировщика о независимости проваливается на коррелированных колонках и что это чинит?
- 05Что такое generic-plan trap на prepared statements, как его обнаружить и как починить?
- 06Опиши пятислойную стратегию удержания стабильности планов между деплоями.
Если ты реконструировал каждый ответ по памяти — у тебя есть хребет юнита: читай EXPLAIN ANALYZE, сравнивая estimated с actual rows на каждом узле; выбор scan следует за селективностью, выбор join — за оценкой внешней стороны; каскад ошибок оценки объясняет, почему одна плохая листовая оценка отравляет каждое решение выше; extended statistics заменяют предположение о независимости для коррелированных колонок; generic-plan trap даёт бимодальную задержку на перекошенных prepared statements; а стабильность планов — операционная дисциплина свежей statistics, cost-констант под SSD, force_custom_plan, наблюдаемости и процедуры деплоя с диффом планов.