nic*_*ick 7 mysql database indexing
我有一张包含单词列表的表格.
字VARCHAR(16)
我需要创建一个反向索引.即.单词"apple"将索引为"elppa",单词"banana"作为"ananab"等等.
另外,是否有可能对该词的一部分进行索引?例如,跳过第一个/最后一个或两个字符:
pple(apple)anana(香蕉)
这些事情可能吗?
您可以在受前缀长度限制的字段上创建索引,这意味着只考虑前n个字符,但不能使用任意的开始和结束位置.在mysql的CREATE INDEX文档页面上阅读更多相关信息.
在这种情况下,我只需要创建另一个列,使用mysql的REVERSE函数填充它并在其上创建索引,这样就可以获得一个字段来搜索原始单词的反向.
其他数据库(如Postgresql)允许您索引表达式,这将有效地允许您在reverse(col_name)不创建额外列的情况下进行索引.所以它是可能的,只是现在没有mysql.(因为版本9 potgresql有reverse()本机我相信)
| 归档时间: |
|
| 查看次数: |
3598 次 |
| 最近记录: |