从任何有实际经验的人看来,如果字段具有普通 INDEX,LIKE 查询在 MySQL 中对数百万行表的执行速度和效率如何?
是否有更好的替代方法(不会过滤掉结果,如 FULLTEXT 50% 规则)对数百万行表执行数据库字段搜索?
示例:
Schema (comments table)
id (PRIMARY) title(INDEX) content time stamp
Query
SELECT * FROM 'comments' WHERE 'title' LIKE '%query%'
最佳答案
如果模式开头有 %
,LIKE 将进行全表扫描。
您可以在 bool (而不是自然语言)模式下使用 FULLTEXT 以避免 50% 规则。
Boolean full-text searches have these characteristics:
They do not use the 50% threshold.
http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html
关于mysql - 对百万行表,MySQL 的 LIKE 查询的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11418932/