MySQL中的Sargable子串搜索

时间:2015-06-06 14:16:51

标签: mysql indexing

我正在运行看起来像这样的查询:

SELECT * FROM `table` WHERE `field` LIKE '%567%' LIMIT 6;

很明显,这不是最有效的方法,因为该方法不可思考,并且不遵守搜索字段的索引。由于我预计所述表无限增长(读取数百万条记录),因此低效率在我的上下文中是一个更大的问题。我按照一些网站的建议尝试了以下内容,但拒绝按预期执行搜索:

SELECT * FROM `table` WHERE CONTAINS(`field`, '567') LIMIT 6;

此选项仅在达到“精确”匹配时返回,而不是我正在寻找的匹配。

以下似乎具有相同的效果:

SELECT * FROM `table` WHERE MATCH (`field`) AGAINST ('567' IN BOOLEAN MODE);

是否有任何方法可以在MySQL中进行部分搜索?

0 个答案:

没有答案