【发布时间】:2013-06-04 07:52:29
【问题描述】:
我正在尝试编写一个查询来使用通配符搜索记录。
我在下面有两个有效的查询,但我想知道哪一个更优化。
查询一确实给了我想要的东西,但查询二给了我不同的结果。
我应该使用哪一个。
-
在我的查询中使用 Like。
SELECT code, name FROM countryCounty WHERE name LIKE '%County Down%' AND isActive =1 AND countryISO2FK = 'GB' LIMIT 1 -
然后我有布尔模式(FULLTEXT)查询。
SELECT code,name, match( name ) AGAINST ( 'County Down' IN BOOLEAN MODE ) AS relevance FROM opjb_countryCounty WHERE match( name ) AGAINST ( '%County Down%' IN BOOLEAN MODE ) AND isActive=1 AND countryISO2FK='GB' ORDER BY relevance DESC LIMIT 1
【问题讨论】:
-
我不确定,但我几乎可以肯定第一个是最简单和最有效的。您要考虑的参数要少得多。此外,如果您使用第二个得到不同的结果,我敢打赌这是因为您没有以相同的方式使用 % 符号。
-
@ariane 我确实为第二次查询添加了 % 仍然相同的结果
-
@zod 谢谢你,这就是我想要的。谢谢
标签: mysql