MySQL LIKE 运算符优化
问题:使用通配符(例如 '%test% ')?
答案: 是的,在查询中使用特定模式时,MySQL 可以优化 LIKE 运算符的性能。
- 前缀通配符: 如果您的查询类似于 foo LIKE 'abc%' 或 foo LIKE 'abc�f%',MySQL 可以利用索引。它可以在第一个通配符之前使用字符串的任何部分的索引。
- 全文搜索任意位置匹配: 如果您需要在字符串中的任何位置查找单词,请考虑使用相反,全文索引。 FULLTEXT 索引是专为高效单词匹配而设计的,在这种情况下可以优于带有通配符的 LIKE 运算符。
其他信息:
- MySQL 索引: http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html
- 全文搜索:http://dev.mysql.com/doc/refman/5.0/en/ fulltext-search.html