MySQL索引优化--对前缀索引使用like模糊匹配时的实际索引选择

由于我在最近的项目中对mysql的某张表的varchar列加上前缀索引后,在查询语句中即使where子句里只有course_num like "4%"这个条件,通过使用explain发现还是会走all类型进行全表查询。随后,我发现用绝大多数的博文中的数据进行复盘测试时,得到的结果和他们的对不上,在翻阅MySQL的优化器相关知识时,绝大多数博文中写的形如"4%"这种百分号在后面的一定会走range类型用前缀索引进行查询,这不是绝对正确的,在一些情况下不会走前缀索引查询,可能这些博文默认读者已经知晓了优化器的某些前置知识。然而实际上需要结合优化器基于成本计算去选择是否使用索引。好了,废话不多说,看下面的测试用例的演示。

MySQL索引优化--对前缀索引使用like模糊匹配时的实际索引选择

上一篇:CAD常用命令、快捷键和命令说明大全


下一篇:数据库基础01-SQL基础语法