优化 InnoDB 中的 MySQL LIKE 查询
使用带有尾随通配符('%...')的 LIKE 运算符查询 InnoDB 表时,了解其索引限制非常重要。
了解索引限制
InnoDB 中的索引通常是从字符串的开头构建的。虽然像 LIKE 'whatever%' 这样的查询可以利用这些基于开始的索引进行高效查找,但 LIKE '%whatever%' 查询却不能。
这是因为尾随通配符删除了开头的锚点搜索词,使其“浮动”在字符串中。因此,必须搜索整个字段,导致基于 start 的索引无效。
解决方案:使用全文索引
对于像 LIKE '% 这样的“浮动”搜索...建议查询、全文索引。全文索引针对这种类型的使用进行了优化,无论通配符在字符串中的位置如何,都可以进行高效搜索。
InnoDB 和全文索引
历史上,InnoDB 没有支持全文索引。然而,从5.6.4版本开始,InnoDB完全支持全文索引。这使您可以利用 InnoDB 的事务和一致性优势,同时享受高效的全文搜索。
以上是以下是一些基于问题的标题,它们抓住了文章的精髓,重点关注与 InnoDB 中带有尾随通配符的'LIKE”查询相关的挑战和解决方案: * **如何优化的详细内容。更多信息请关注PHP中文网其他相关文章!