MySQL суффиксные индексы - PullRequest
2 голосов
/ 26 марта 2012

ищет, пытаясь найти способ добавить индекс для суффикса столбца. Я не смог найти решение.

Единственное, что я нашел для частичного индекса, это префикс индекса:

CREATE INDEX part_of_name ON customer (name(10));

из 12.1.13. CREATE INDEX Синтаксис

Я также пробовал другие вещи, такие как:

CREATE INDEX part_of_name ON customer (name(-10));
CREATE INDEX part_of_name ON customer (RIGHT(name,10));
CREATE INDEX part_of_name ON customer (SUBSTRING(name,-10));

ВСЕ с той же ошибкой:

ERROR 1064 (42000): You have an error in your SQL syntax;

Я бы хотел вашей помощи! Заранее спасибо!

1 Ответ

1 голос
/ 26 марта 2012

MySQL не поддерживает индексы для произвольных выражений. Индекс префикса - это всего лишь причуда, поскольку он является «бесплатным» в типичной реализации индексов B-Tree.

Вам нужно будет добавить еще один столбец в таблицу, заполнить его триггером и поставить индекс для него.

...