Spec-Zone .ru
спецификации, руководства, описания, API

8.3.1. Как MySQL Uses Indexes

Индексирует используются, чтобы найти строки с определенными значениями столбцов быстро. Без индексирования MySQL должен начаться с первой строки и затем прочитать всю таблицу, чтобы найти соответствующие строки. Чем больше таблица, тем больше это стоит. Если у таблицы есть индексирование для рассматриваемых столбцов, MySQL может быстро определить позицию, чтобы искать на в середине файла данных, не имея необходимость смотреть на все данные. Если у таблицы есть 1 000 строк, это по крайней мере в 100 раз быстрее чем чтение последовательно.

Большинство MySQL индексирует (PRIMARY KEY, UNIQUE, INDEX, и FULLTEXT) сохранены в B-деревьях. Исключения, это индексирует на пространственных R-деревьях использования типов данных, и этом MEMORY таблицы также поддерживают хеш, индексирует.

Вообще, индексирует, используются как описано в следующем обсуждении. Характеристики, определенные для хеша, индексируют (как использующийся в MEMORY таблицы), описываются в конце этого раздела.

Использование MySQL индексирует для этих операций:

Индексирует менее важны для запросов на маленьких таблицах, или больших таблицах, где запросы отчета обрабатывают больше всего или все строки. Когда запрос должен получить доступ к большинству строк, читая последовательно быстрее чем работа посредством индексирования. Последовательные чтения минимизируют поиск на диске, даже если не все строки необходимы для запроса. См. Раздел 8.2.1.4, "Как Избежать Полных Сканирований таблицы" на предмет деталей.