MySQL后缀索引

时间:2012-03-26 09:50:26

标签: mysql indexing prefix

试图找到一种方法来添加列后缀的方法我无法找到解决方案。

我找到的部分索引的唯一内容是索引前缀:

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 个答案:

答案 0 :(得分:1)

MySQL不支持任意表达式的索引。前缀索引只是一个怪癖,因为它是" free"在B-Tree索引的典型实现中。

您需要向表中添加另一列,使用触发器填充它,并在其上添加索引。