В плане EXPLAIN для запроса по пользователю вы видите проход по индексу orders_user_id_idx для таблицы заказов. Какой вывод наиболее корректен?

AПланировщик использует индекс, чтобы найти подходящие строки по ключу, не читая всю таблицу заказов целиком
BТакой план гарантирует, что запрос всегда выполнится максимально быстро среди всех возможных способов исполнения
CТакой план означает, что результат уже отсортирован по любому столбцу таблицы заказов без дополнительных операций
DТакой план означает, что база создала временную таблицу заказов и теперь читает её последовательно при каждом запросе
Правильный ответ. Проход по индексу позволяет найти подходящие строки быстрее, чем последовательное сканирование всей таблицы.

Разбор

При проходе по индексу база сначала находит подходящие записи в индексе (например, по идентификатору пользователя), а затем читает соответствующие строки таблицы. Это особенно выгодно, когда условие в WHERE отбирает малую долю строк. Реальная скорость зависит от объёма возвращаемых данных и количества дисковых чтений, поэтому проход по индексу не является автоматической гарантией максимальной производительности.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

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