2012-03-26 3 views
2

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

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

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

из 12.1.13. CREATE INDEX Syntax

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

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)); 

ALL с той же ошибкой:

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

Хотелось бы вам помочь! Спасибо заранее!

ответ

1

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

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

+0

Thank you porneL! К сожалению, как вы сказали, мне придется создать другую колонку ... –

+0

@ pan.soultanos: Добро пожаловать в StackOverflow. Если вы нашли мой ответ полезным, отметьте его как «Принято». – Kornel

Смежные вопросы