多列索引生效规则
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,mysql中 myisam,innodb默认使用的是 Btree索引,至于btree的数据结构是怎样的都不重要,只需要知道结果,既然是索引那这个数据结构最后是排好序;就像新华字典他的目录就是按照a,b
千家信息网最后更新 2026年11月03日多列索引生效规则
mysql中 myisam,innodb默认使用的是 Btree索引,至于btree的数据结构是怎样的都不重要,
只需要知道结果,既然是索引那这个数据结构最后是排好序;就像新华字典他的目录就是按照a,b,c..这样排好序的;
所以你在找东西的时候才快,比如你找 "中" 这个字的解释,你肯定就会定位到目录的 z 开头部分;
组合索引可以这样理解,比如(a,b,c),abc都是排好序的,在任意一段a的下面b都是排好序的,任何一段b下面c都是排好序的;
组合索引的生效原则是 从前往后依次使用生效,如果中间某个索引没有使用,那么断点前面的索引部分起作用,断点后面的索引没有起作用;
比如
where a=3 and b=45 and c=5 .... 这种三个索引顺序使用中间没有断点,全部发挥作用;where a=3 and c=5... 这种情况下b就是断点,a发挥了效果,c没有效果where b=3 and c=4... 这种情况下a就是断点,在a后面的索引都没有发挥作用,这种写法联合索引没有发挥任何效果;where b=45 and a=3 and c=5 .... 这个跟第一个一样,全部发挥作用,abc只要用上了就行,跟写的顺序无关
(a,b,c) 三个列上加了联合索引(是联合索引 不是在每个列上单独加索引)
还需注意, (a,b,c)多列索引和 (a,c,b)是不一样的,看上面的图也看得出来关系顺序是不一样的;
分析几个实际例子来加强理解;
分析句子中使用的索引情况
(0) select * from mytable where a=3 and b=5 and c=4;abc三个索引都在where条件里面用到了,而且都发挥了作用(1) select * from mytable where c=4 and b=6 and a=3;这条语句列出来只想说明 mysql没有那么笨,where里面的条件顺序在查询之前会被mysql自动优化,效果跟上一句一样(2) select * from mytable where a=3 and c=7;a用到索引,b没有用,所以c是没有用到索引效果的(3) select * from mytable where a=3 and b>7 and c=3;a用到了,b也用到了,c没有用到,这个地方b是范围值,也算断点,只不过自身用到了索引(4) select * from mytable where b=3 and c=4;因为a索引没有使用,所以这里 bc都没有用上索引效果(5) select * from mytable where a>4 and b=7 and c=9;a用到了 b没有使用,c没有使用(6) select * from mytable where a=3 order by b;a用到了索引,b在结果排序中也用到了索引的效果,前面说了,a下面任意一段的b是排好序的(7) select * from mytable where a=3 order by c;a用到了索引,但是这个地方c没有发挥排序效果,因为中间断点了,使用 explain 可以看到 filesort(8) select * from mytable where b=3 order by a;b没有用到索引,排序中a也没有发挥索引效果
索引
效果
断点
作用
顺序
三个
就是
情况
排序
联合
地方
数据
数据结构
条件
目录
结构
结果
部分
分析
组合
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技股互联网
互联网金融 金融科技
互联网科技公司发展
互联网科技视频
未来的互联网科技
苏州互联网科技贷款公司
互联网科技公司介绍
互联网金融和金融科技
现代科技和互联网有关系吗
顶级互联网科技成果有哪些
浙江互联网科技研学营
武汉健翔互联网络科技有限公司
互联网与医疗科技
互联网科技如何创业
区块链结合互联网科技
互联网科技圈年度人物
富国互联网科技002692
互联网对科技影响
重庆科技产业互联网有哪些
宁波允成互联网科技有限公司
关于新基建和互联网科技
易通互联网络科技有限公司
一五八零互联网科技
卓越科技互联网 招聘
科技伦理 互联网公司
彤创互联网科技有限公司
广州新华互联网科技学校电竞方面
互联网相关科技技术
容联科技互联网电商
玉溪新华互联网科技怎么选