Buy this Reference Manual in softcover from Barnes & Noble!
В MySQL могут быть проиндексированы столбцы всех типов. Использование индексов на соответствующих столбцах представляет собой хороший способ ускорения выполнения операций SELECT
.
Максимальное количество ключей и максимальная длина индексов определяется обработчиком таблиц (see section 7 Типы таблиц MySQL). Можно иметь по меньшей мере 16 ключей на всех обработчиках таблиц и общую длину индексов по меньшей мере 256 байтов.
Для столбцов типов CHAR
и VARCHAR
можно индексировать префикс столбца. Это намного быстрее и требует меньше дискового пространства, чем индексация всего столбца. Используемый в команде CREATE TABLE
синтаксис для индексации префикса столбца выглядит примерно так:
KEY index_name (col_name(length))
В следующем примере создается индекс для первых 10 символов в столбце name
:
mysql> CREATE TABLE test ( -> name CHAR(200) NOT NULL, -> KEY index_name (name(10)));
Для столбцов типа BLOB
и TEXT
индексировать необходимо префикс столбца. Нельзя индексировать столбец целиком.
В версии MySQL 3.23.23 и более поздних можно также создавать специальные индексы FULLTEXT
. Они используются для полнотекстового поиска. Полнотекстовые индексы FULLTEXT
поддерживают только таблицы типа MyISAM
. Они могут создаваться только по столбцам VARCHAR
и TEXT
. Индексация всегда производится для целого столбца, а частичная индексация не поддерживается. See section 6.8 Полнотекстовый поиск в MySQL.
Add your own comment.