在MySQL中进行搜索:
SELECT * FROM people WHERE surname LIKE '%ton';
即使受LIKE约束的列被索引,也很慢。 有没有加速这项工作的技巧?
我能想到的最好的主意是:
创建一个新列,使相关列反转。华盛顿=> notgnihsaW和Jefferson => nosreffeJ
当您想要执行LIKE'%ton'搜索,反转你的后缀,例如吨>不要然后执行LIKE' not%'搜索新专栏。
这是一个简单的解决方案,但每当您添加新数据时都需要重新编译反向列。
答案 0 :(得分:1)
您已经为后缀匹配提出了一个很好的解决方案...存储一个反向列并将其用于反向前缀匹配。我做到了这一点,确实非常有效。
您似乎正在寻找像Harrington,Carlton,Milton等姓氏的人。
如果这是正确的那么FULLTEXT不是一个好的解决方案;它不会产生部分词干。