本文主要是介绍MySQL高频面试题你会几个?MyBatis 用过吗?一二级缓存清楚吗?什么是最左匹配原则?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
什么是最左匹配原则?
最左前缀匹配原则:在 MySQL 建立联合索引时会遵守最左前缀匹配原则,即最左优先,在检索数据时从联合索引的最左边开始匹配。
打个比方,我们有张 student 表,我们根据学院编号 + 班级建立了一个联合索引 index_magor_class (magor,class), 这个索引由二个字段组成。
索引的底层是一颗 B + 树,那么联合索引的底层也就是一颗 B + 树,只不过联合索引的 B + 树节点中存储的是逗号分隔的多个值。
举例:创建一个 index_magor_class (magor,class) 的联合索引,那么它的索引树就是下图的样子。
它是先根据 magor 排序,再根据 class 排序,如果索引后面还有字段,继续以此类推。
我们查询的 where 条件如果只传入了班级,是走不到联合索引的,但是如果只传了学院编号,是可能会走到联合索引的。(为什么说可能,MYSQL 的执行计划和查询的实际执行过程并不完全吻合,比如你数据库数据量很少,可能直接全量遍历速度更快,就不走索引了)
在建表的时候如何设计索引的?有没有做过索引优化 ?
一、利用覆盖索引来进行查询操作,来避免回表操作。
说明:如果一本书需要知道第 11 章是什么标题,会翻开第 11 章对应的那一页吗?
这篇关于MySQL高频面试题你会几个?MyBatis 用过吗?一二级缓存清楚吗?什么是最左匹配原则?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!