背景: 优化利用 LIKE '%string%' 的查询语法可能具有挑战性,尤其是在 InnoDB 环境中。为了解决这个问题,让我们深入研究可用的选项及其限制。
基本索引的限制:
创建标准索引,如 ALTER TABLE 示例 ADD INDEX 所示idxSearch(关键字);无法解决 LIKE '%whatever%' 等查询的性能问题。这是因为 InnoDB 索引是从字符串的开头到结尾构建的。因此,字符串可以出现在字段内任何位置的“浮动”搜索无法利用这些索引。
引入全文索引:
用于灵活的字符串搜索,全文索引开始发挥作用。它们专为搜索词可以出现在索引列中任何位置的场景而定制。 InnoDB 从版本 5.6.4 开始支持全文索引,即使对于 InnoDB 表也可以利用其优势。
实现:
要实现全文索引,请执行以下查询:
全文索引的好处:
其他注意事项:
以上是全文索引如何增强 InnoDB 中 LIKE \'%string%\' 查询的性能?的详细内容。更多信息请关注PHP中文网其他相关文章!