gpt4 book ai didi

mysql - 寻找更好的解决方案 - 与类型字符串比较的长列表 AND 运算符

转载 作者:行者123 更新时间:2023-11-29 06:51:06 24 4
gpt4 key购买 nike

我有搜索功能,可以在一个大的 mysql 表中搜索关键字,但由于我需要过滤掉所有的坏词,我必须在 MySQL 中进行以下类型的 AND 比较,这是一个长列表禁用词的数量(超过 500+),因此它非常慢,

SELECT * FROM keywords WHERE 1  
AND keyword NOT LIKE '%love%'
AND keyword NOT LIKE '%hope%'
AND keyword NOT LIKE '%caring%'
AND keyword NOT LIKE '%x%'
AND keyword NOT LIKE '%happiness%'
AND keyword NOT LIKE '%forgiveness%'
AND keyword NOT LIKE '%good%'
AND keyword NOT LIKE '%great%'
AND keyword NOT LIKE '%positive%'
AND keyword NOT LIKE '%sharing%'
AND keyword NOT LIKE '%awesome%'
AND keyword NOT LIKE '%fantastic%'

还有其他更好的方法吗?

最佳答案

使用LIKE 模式匹配的性能很差,因为没有办法为它使用索引。使用像@fuzic 这样的正则表达式会更糟。

如果您想要良好的性能,您确实需要使用一些全文索引解决方案。

我在我的演讲中介绍了这个并比较了几个解决方案,Full Text Search Throwdown .


简短的回答:使用Sphinx Search .

关于mysql - 寻找更好的解决方案 - 与类型字符串比较的长列表 AND 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15376456/

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