mysql索引最左原则原理

mysql索引最左原则原理,第1张

mysql 索引最左原则原理

索引本质是一棵B+Tree,联合索引(col1, col2,col3)也是。

其非叶子节点存储的是第一个关键字的索引,而叶节点存储的则是三个关键字col1、col2、col3三个关键字的数据,且按照col1、col2、col3的顺序进行排序。

(图以innodb引擎为例,对应地址指的是数据记录的地址)

联合索引(年龄, 姓氏,名字),叶节点上data域存储的是三个关键字的数据。且是按照年龄、姓氏、名字的顺序排列的。

而最左原则的原理就是,因为联合索引的B+Tree是按照第一个关键字进行索引排列的

他是按照索引的字段,第一个字段排序,相等的话,则看第二个字段比较大小。 所以如果查询条件跳过第一个字段,直接查询第二、第三,或者是第三字段的话,那么这个是无序的,自然用不了索引。

则 explain 后的执行情况是:

mysql 的索引最左原则就很清晰了。索引多个字段,会按照字段顺序依次比较大小建立索引,如果跳过这个顺序的话,则索引失效。 前提是没有其他索引进行影响


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8671062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存