mysql - 对百万行表,MySQL 的 LIKE 查询的性能

标签 mysql database performance processing-efficiency

从任何有实际经验的人看来,如果字段具有普通 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/

相关文章:

MySql下划线通配符优化

php - 选择并列出 child 和 parent

database - 备份AWS EC2上托管的PostgreSQL数据库,而无需关闭或重启主数据库

c# - 在 C# 下,try、throw 和 catch block 对性能的影响有多大

mysql - 运行大型sql脚本

php - 将 xml 文件读入数据库

java - Android - 内容值覆盖现有行

c# - 将带有值的变量传递给 postgresql 数据库

django - 配置 uwsgi 服务器以提高性能

swift - coredata中插入子记录很慢