MySQL的联合索引
说到数据库肯定绕不开索引。
什么场景应该使用联合索引?
见过超级多的候选人不清楚这个点,甚至有些面试官对此也是理解错误。
联合索引原文Multiple-Column Indexes,有些翻译叫做复合索引或者多列索引,这里后面统称联合索引。
一般来说,其有两个优点:
节省空间;
部分场景下效率高。
综合这两个优点,很容易可以推测出常见的使用场景:假设表中有字段证件号cert_no、姓名cert_name,通过证件号查询姓名是高频请求,那么此时就建议创建联合索引(cert_no, cert_name)。
下面从索引的数据结构层面解释下为什么有这两个优点。
节省空间
首先我们知道索引的数据结构是B+树,并且每个索引对应了一棵树。
引用上面的例子,创建联合索引(cert_no, cert_name)只会生成一棵索引树,所以说其节省空间。
效率高
依然是上面的例子,很明显看出在这样的场景下能减少回表次数,也就是减少了树的搜索次数,所以说其效率高。
要想使用好联合索引,还得多关注索引覆盖、最左前缀原则以及 MySQL 5.6 引入的索引下推特性。
真好呢
你的文章总是能给我带来欢乐,谢谢你! http://www.55baobei.com/6b4sITGEQD.html
你的才华让人惊叹,请继续保持。 https://www.yonboz.com/video/98409.html
《天真派武林外传》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/113218.html
你的文章总是能给我带来欢乐,谢谢你! http://www.55baobei.com/6b4sITGEQD.html
《光棍出差》喜剧片高清在线免费观看:https://www.jgz518.com/xingkong/77472.html
兄弟写的非常好 https://www.cscnn.com/
文章的确不错啊https://www.cscnn.com/
看的我热血沸腾啊https://www.ea55.com/
不错不错,我喜欢看 https://www.ea55.com/
叼茂SEO.bfbikes.com
想想你的文章写的特别好https://www.jiwenlaw.com/
叼茂SEO.bfbikes.com