我对数据库不是很专业,但是由于我对索引的理解,我认为这个问题有一定意义......
有一种方法可以索引SQL列的前N个字符吗?
例如,我在列中包含这些字符串:
123abc
123def
123ghi
234fhg
234kgf
567kds
567ops
如果我只索引前3个重复的字符,我可以在SELECT
操作期间获得一些性能提升,因为它会被分成3个大块(123,234,567)。
有可能吗?或者我必须添加第二列,每行只有前3个字符并将其编入索引?
答案 0 :(得分:0)
是的,有可能。
假设您的表名是tmp
,而您要索引的列是col
,这将是在该列的前3个字符上创建索引的方法:
alter table tmp add index first3Characters (col(3));