单表索引优化

示例

示例1:

[学习打卡]09MySql索引的优化

[学习打卡]09MySql索引的优化

索引:

[学习打卡]09MySql索引的优化

效果:

[学习打卡]09MySql索引的优化

示例二:

[学习打卡]09MySql索引的优化

[学习打卡]09MySql索引的优化

索引:

[学习打卡]09MySql索引的优化

效果:

[学习打卡]09MySql索引的优化

示例三:

[学习打卡]09MySql索引的优化

[学习打卡]09MySql索引的优化

索引:

[学习打卡]09MySql索引的优化

效果:

[学习打卡]09MySql索引的优化

更改了where之后的条件顺序之后:

[学习打卡]09MySql索引的优化

索引依旧生效,效果如下:

[学习打卡]09MySql索引的优化

还是实例三的索引,删除一个条件之后

[学习打卡]09MySql索引的优化

效果:

[学习打卡]09MySql索引的优化

只命中了一个字段,只命中了age而没有命中name

同样:替换一个之后

[学习打卡]09MySql索引的优化 效果:[学习打卡]09MySql索引的优化

没有命中索引。

原因:

[学习打卡]09MySql索引的优化

age 之后 应该是 deptid 但是 没有写 所以有了第一次的那个 只命中一个索引的 “5”  

而下一次实验  直接把age换成了 deptid 这就导致了 没有命中第一层索引的age  索引的入口都没有了 所以就没有能够调用索引进行搜索。

这就是 最佳左前缀法则:索引从最左前列开始并且不跳过索引中的列进行依次命中!

相关文章: