В EXPLAIN вашего отчёта видно, что выполняется Sort по created_at на очень большом наборе строк. Какое действие чаще всего помогает уменьшить работу сортировки?

AДобавить OFFSET 0 в начало выборки, чтобы планировщик пропустил внутреннюю сортировку и сразу читал страницы
BУбрать условие WHERE из запроса, чтобы планировщик выбрал более эффективный путь и задействовал индекс
CДобавить индекс по полю из ORDER BY created_at или сократить вход в сортировку селективным WHERE
DЗаменить ORDER BY created_at на GROUP BY created_at: группировка делается без шага сортировки строк
Правильный ответ. Сортировка ускоряется, если база может получить строки уже в нужном порядке из индекса.

Разбор

Если план вынужден делать Sort по миллионам строк, это часто главный потребитель ресурсов. Индекс по полю из ORDER BY (или составной индекс под фильтр + порядок) позволяет избежать полной сортировки или существенно её удешевить. Альтернативно можно уменьшить вход в сортировку через более точный WHERE.

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

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

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

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

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