Вы видите Index Scan в EXPLAIN и делаете вывод «это точно быстро». Насколько это корректно?

AКорректно: Index Scan всегда быстрее Seq Scan.
BКорректно, если в плане cost меньше, значит время тоже обязательно меньше.
CНекорректно: EXPLAIN показывает оценки, а не гарантии; при большом количестве возвращаемых строк Seq Scan может быть быстрее, а время зависит от многих факторов.
DНекорректно только для запросов без WHERE.
Правильный ответ. Index Scan — это сигнал, но не обещание скорости.

Разбор

Индексы помогают выборочным запросам, но при больших выборках могут проигрывать последовательному чтению. Кроме того, EXPLAIN без ANALYZE не измеряет фактическое время, а показывает модель планировщика. Используйте план для гипотез и проверяйте на данных, особенно для критичных дашбордов.

Проверь себя · 1/3разбор после ответа
В плане EXPLAIN для запроса по пользователю вы видите Index Scan using orders_user_id_idx on orders. Какой вывод наиболее корректен?
Тренировать SQL в Telegram

Ещё вопросы по теме «EXPLAIN и оптимизация»