MySQL高频面试题你会几个?MyBatis 用过吗?一二级缓存清楚吗?什么是最左匹配原则?

阅读: 评论:0

MySQL高频面试题你会几个?MyBatis 用过吗?一二级缓存清楚吗?什么是最左匹配原则?

MySQL高频面试题你会几个?MyBatis 用过吗?一二级缓存清楚吗?什么是最左匹配原则?

什么是最左匹配原则?

最左前缀匹配原则:在 MySQL 建立联合索引时会遵守最左前缀匹配原则,即最左优先,在检索数据时从联合索引的最左边开始匹配。

打个比方,我们有张 student 表,我们根据学院编号 + 班级建立了一个联合索引 index_magor_class (magor,class), 这个索引由二个字段组成。

索引的底层是一颗 B + 树,那么联合索引的底层也就是一颗 B + 树,只不过联合索引的 B + 树节点中存储的是逗号分隔的多个值。

举例:创建一个 index_magor_class (magor,class) 的联合索引,那么它的索引树就是下图的样子。

它是先根据 magor 排序,再根据 class 排序,如果索引后面还有字段,继续以此类推。

我们查询的 where 条件如果只传入了班级,是走不到联合索引的,但是如果只传了学院编号,是可能会走到联合索引的。(为什么说可能,MYSQL 的执行计划和查询的实际执行过程并不完全吻合,比如你数据库数据量很少,可能直接全量遍历速度更快,就不走索引了)

在建表的时候如何设计索引的?有没有做过索引优化 ?

一、利用覆盖索引来进行查询操作,来避免回表操作。

说明:如果一本书需要知道第 11 章是什么标题,会翻开第 11 章对应的那一页吗?

本文发布于:2024-01-29 15:08:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170651209516145.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:几个   你会   用过   缓存   面试题
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23