gpt4 book ai didi

mysql 多个或不喜欢

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

我有一个 wordpress 插件,它实际上创建了一个 mysql 查询并将结果返回给 wordpress。

它是用户驱动的,因此最终可能会出现包含多个 NOT LIKE 的大型查询,这会导致查询非常缓慢。

我可以用来改进的任何建议:

SELECT field1,field2,field3,field4 
from datatable
WHERE (title NOT LIKE '%word%' AND title NOT LIKE '%word2%'
AND title NOT LIKE '%word3%' AND title NOT LIKE '%word4%'
AND title NOT LIKE '%word5%' AND title NOT LIKE '%word6%'
AND title NOT LIKE '%word7%' AND title NOT LIKE '%word8%'
AND title NOT LIKE '%word9%')
AND MATCH (title) AGAINST ("\"brandname\" " IN BOOLEAN MODE)
ORDER BY total ASC LIMIT 0,60

客户正在向 wordpress 插件添加大量否定关键字,这导致查询比上面的查询更大。

最佳答案

使用 REGEXP 最容易做到这一点.对于多个单词,使用像 (one|two|three)

这样的组
SELECT 
field1,
field2,
field3,
field4
from datatable
WHERE
title NOT REGEXP '(word1|word2|word3|word4|word5...|word9)'
AND MATCH (title) AGAINST ("\"brandname\" " IN BOOLEAN MODE)
ORDER BY total ASC
LIMIT 0,60

关于mysql 多个或不喜欢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9646373/

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