Ответ
Основные редфлаги в EXPLAIN ANALYZE:
- Seq Scan (последовательное сканирование) на больших таблицах — указывает на отсутствие индексов.
- Nested Loop с большим количеством строк — может быть неэффективным для больших наборов данных.
- High Planning Time — долгое время планирования запроса, возможно из-за сложности или отсутствия статистики.
- Huge Actual Rows vs Estimated Rows — сильное расхождение между оценкой и реальностью (проблемы со статистикой).
- Sort Operations — сортировка больших данных в памяти (может потреблять много ресурсов).
- Hash Join/Batch — требует много памяти, особенно при работе с большими таблицами.
Пример с плохим планом:
EXPLAIN ANALYZE SELECT * FROM large_table WHERE non_indexed_column = 'value';
Вывод может показать Seq Scan с высоким Actual Rows, что сигнализирует о необходимости индекса.