的mysql部分索引,反向索引(mysql partial indexing, reverse in

2019-09-17 23:08发布

我有一个单词列表的表。

字VARCHAR(16)

我需要创建一个反向指标。 即。 单词“苹果”将指数作为“elppa”,字“香蕉”为“ananab”等。

此外,有可能的指数,说,这个词的一部分? 如,跳过第一/最后一个1个或2的字符:

pple(苹果)阿纳纳(香蕉)

这些东西可能吗?

Answer 1:

您可以创建,就会向由前缀长度的限制,这意味着只有第n个字符将被视为一个字段上的索引,你不能任意起点和终点做虽然。 了解更多关于它的MySQL的CREATE INDEX文档页面。

在这种情况下,我只是让另一列,使用MySQL的REVERSE函数来填写,并在其上创建一个索引,这样,你会得到一个字段搜索对原词相反。

其它的数据库如PostgreSQL的让你的索引表达式 ,这将有效地让你指数reverse(col_name)而无需创建额外的列。 因此,这是可能的,只是没有与MySQL现在。 (从版本9 potgresql具有反向()原生我相信)



文章来源: mysql partial indexing, reverse indexing