Насколько мне известно, существует три основных способа упорядочения строк:
- Сортировка в памяти: считывание всех строк в память и сортировка их.Очень быстро.
- Использование отсортированного индекса: чтение по одной строке за раз, поиск столбцов, которых нет в индексе в базовой таблице.
- Сортировка файлов: построение порядка сортировки путем чтениячасть таблицы за один раз.Это действительно медленно.
Для таблиц, которые помещаются в памяти, MySQL, вероятно, выберет вариант 1. Это означает, что он не будет использовать индекс, даже если он присутствует.Индекс будет только перегружен.
Но индексы сияют для больших таблиц.Если таблица слишком велика для памяти, MySQL может избежать болезненной сортировки файлов и полагаться на индекс.
В наши дни памяти много, и таблицы почти всегда помещаются в памяти.Я бы добавил индексы для упорядочения только после того, как увидел, что происходит сортировка файлов.