gpt4 book ai didi

mysql - 更快 LIKE '%XXX'

转载 作者:可可西里 更新时间:2023-11-01 07:39:43 24 4
gpt4 key购买 nike

在 MySQL 中执行如下搜索:

SELECT * FROM people WHERE surname LIKE '%ton';

很慢,即使受 LIKE 约束的列已被索引。 有什么技术可以加快速度吗?

我能想到的最好的想法是:

  1. 创建一个新列,将有问题的列颠倒过来。所以华盛顿 => notgnihsaW 和杰斐逊 => nosreffeJ

  2. 当您想执行 LIKE '%ton' 搜索时,反转您的后缀,例如ton > not 然后在您的新列上执行 LIKE 'not%' 搜索。

这是一个简单的解决方案,但每当您添加新数据时都需要重新编译反向列。

最佳答案

您已经提出了一个出色的后缀匹配解决方案……存储一个反向列并将其用于反向前缀匹配。我已经这样做了,而且确实效果很好。

您似乎在寻找姓氏为 Harrington、Carlton、Milton 等的人。

如果那是正确的,那么 FULLTEXT 就不是一个好的解决方案;它不会进行部分词干提取。

关于mysql - 更快 LIKE '%XXX',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com