Какова цель индекса с сортиров... Заметка
DEV Community на русском

Какова цель индекса с сортировкой, если запрос имеет сортировку по одному столбцу, нужно ли нам использовать сортировку в индексе

Для запросов, сортируемых по одному столбцу, явное указание направления при создании индекса не требуется, поскольку базы данных могут одинаково эффективно считывать одностолбцовые B-деревья как вперед, так и назад. Эта возможность устраняет дорогостоящую операцию filesort, так как индекс уже хранит данные в отсортированном виде. Когда запрос требует сортировку по возрастанию, база данных сканирует индекс с начала. Для сортировки по убыванию она сканирует тот же индекс в обратном порядке. Следовательно, создание индекса с направлением "по убыванию" для одного столбца не дает преимуществ в производительности по сравнению с индексом по умолчанию "по возрастанию".Однако указание ASC или DESC становится критически важным для составных индексов, когда запрос включает смешанные направления сортировки по нескольким столбцам. Индекс по умолчанию может неэффективно поддерживать запросы со смешанными требованиями к сортировке. Для оптимизации таких запросов определение индекса должно точно соответствовать указанным в запросе направлениям сортировки. Например, запрос, сортирующий по score DESC и created_at ASC, требует индекс, явно определенный как (score DESC, created_at ASC).Таким образом, создавайте обычные индексы для сортировки по одному столбцу, и они будут эффективно обрабатывать запросы как по возрастанию, так и по убыванию. Для сортировки по нескольким столбцам в одном направлении подходит составной индекс. При работе со смешанными направлениями в многостолбцовой сортировке убедитесь, что определение индекса точно отражает предложение ORDER BY запроса. Такой подход гарантирует оптимальную производительность, избегая дорогостоящих операций сортировки.