MySQL不喜欢有更好的方法来做到这一点

时间:2014-01-17 06:21:46

标签: mysql

我目前有一个查询,确保许多字词不在titledescription字段中,如下所示:

" ... title NOT LIKE '%word1% AND description NOT LIKE '%word1%' AND title NOT LIKE '%word2%' AND description NOT LIKE '%$word2%' ..."

有没有更好的方法来实现这一点,因为单词的数量会增加并且查看查询它看起来效率不高。

2 个答案:

答案 0 :(得分:0)

对于不同的单词,您必须使用条件,但是您可以通过以下查询缩短查询并获得性能:
and (instr(title,'word1')<=0 and instr(description,'word1')<=0) and (instr(title,'word2')<=0 and instr(description,'word2')<=0)

答案 1 :(得分:0)

你能试试吗,

(title NOT REGEXP 'word1|word2|word3') AND (description NOT REGEXP 'word1|word2|word3');

参考:http://dev.mysql.com/doc/refman/5.1/en/regexp.html