大家好
只是想知道以下查询的区别:
select*, MATCH ( thread_title, first_post ) AGAINST ('apple' IN BOOLEAN MODE) as relevance from posts where MATCH(`thread_title`, `first_post`) AGAINST('apple' IN BOOLEAN MODE) ORDER BY relevance DESC
和
select*, MATCH ( thread_title, first_post ) AGAINST ('apple' IN BOOLEAN MODE) as relevance from posts ORDER BY relevance DESC
已编辑
实际上,两者都在顶部获得了正确的结果,第二个获得了更多的结果,而第一个仅获得了正确的结果。第二个是需要很多时间来执行,第一个要快得多。不知道为什么。
最佳答案
第一个查询将只返回与您设置的限制匹配的行的结果(即那些在 thread_title 或 first_post 中包含 apple 的结果),而第二个查询将返回所有行,无论它们是否包含是否匹配您的搜索查询。
关于Mysql全文搜索查询执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5743176/