索引列的前N个字符

时间:2014-03-19 11:47:10

标签: sql mariadb

我对数据库不是很专业,但是由于我对索引的理解,我认为这个问题有一定意义......
有一种方法可以索引SQL列的前N个字符吗?

例如,我在列中包含这些字符串:

123abc
123def
123ghi
234fhg
234kgf
567kds
567ops

如果我只索引前3个重复的字符,我可以在SELECT操作期间获得一些性能提升,因为它会被分成3个大块(123,234,567)。

有可能吗?或者我必须添加第二列,每行只有前3个字符并将其编入索引?

1 个答案:

答案 0 :(得分:0)

是的,有可能。 假设您的表名是tmp,而您要索引的列是col,这将是在该列的前3个字符上创建索引的方法:

alter table tmp add index first3Characters (col(3));

另请参阅:MySQL Index on first part of string