Spec-Zone .ru
спецификации, руководства, описания, API
|
Наиболее распространенный тип индексирует, включает единственный столбец, храня копии значений от того столбца в
структуре данных, позволяя быстрые поиски для строк с соответствующими значениями столбцов. Структура данных
B-дерева позволяет индексированию быстро находить определенное значение, ряд значений, или диапазона значений,
соответствуя операторам такой как =
, >
, ≤
, BETWEEN
, IN
, и так
далее, в a WHERE
пункт.
Максимальное количество индексирует на таблицу, и максимум индексируют длину, определяется на механизм хранения. См. Главу 14, Механизмы Хранения. Все механизмы хранения поддерживают, по крайней мере 16 индексируют на таблицу, и общее количество индексируют длину по крайней мере 256 байтов. У большинства механизмов хранения есть более высокие пределы.
С
синтаксис в индексировать спецификации, можно создать
индексирование, которое использует только первое col_name
(N
)N
символы строкового
столбца. Индексация только префикса значений столбцов таким образом может сделать индексный файл намного
меньшим. Когда Вы индексируете a BLOB
или TEXT
столбец, следует определить длину префикса для индексирования. Например:
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
Префиксы могут быть 1000 байтов длиной (767 байтов для InnoDB
таблицы). Отметьте,
что префиксные пределы измеряются в байтах, тогда как длина префикса в CREATE TABLE
операторы интерпретируются как число символов. Убедитесь, что приняли это во внимание, определяя длину префикса для столбца,
который использует многобайтовый набор символов.
Можно также создать FULLTEXT
индексирует. Они используются для полнотекстовых
поисков. Только InnoDB
и MyISAM
поддержка механизмов
хранения FULLTEXT
индексирует и только для CHAR
, VARCHAR
,
и TEXT
столбцы. Индексация всегда имеет место по всей индексации префикса
столбца и столбца, не поддерживается. Для получения дополнительной информации см. Раздел
12.9, "Полнотекстовые Функции Поиска".
Оптимизация применяется к определенным видам FULLTEXT
запросы против единственного
InnoDB
таблицы. Запросы с этими характеристиками особенно эффективны:
FULLTEXT
запросы, которые только возвращают ID
документа, или ID документа и разряд поиска.
FULLTEXT
запросы, которые сортируют соответствующие
строки в порядке убывания счета и применяют a LIMIT
пункт, чтобы взять
вершину N соответствие строк. Для этой оптимизации, чтобы применяться, должен быть нет WHERE
пункты и только сингл ORDER BY
пункт в
порядке убывания.
FULLTEXT
запросы, которые получают только COUNT(*)
значение строк, соответствующих критерий поиска, без дополнительного
WHERE
пункты. Кодируйте WHERE
пункт как WHERE MATCH(
, ни с кем text
) AGAINST ('other_text
')>
0
оператор сравнения.
Можно также создать, индексирует на пространственных типах данных. В настоящий момент, только MyISAM
поддерживает R-древовидные-индексы на пространственных типах. Другие механизмы
хранения используют B-деревья для того, чтобы индексировать пространственные типы (за исключением ARCHIVE
, который не поддерживает пространственную индексацию типа).
MEMORY
использование механизма хранения HASH
индексирует по умолчанию, но также и поддерживает BTREE
индексирует.