联合索引

一、联合索引

1.  概念:包含多个列的索引组成一个联合索引。

2. 联合索引的通俗解释:联合索引的两个字段分别类比成电话薄的姓和名,查找目录会先按照人的姓进行排序,然后按照名进行排序。

3. 添加联合索引示例:

alter table table_name 
add index index_name(col_1,col_2,col_n)

4. 联合索引支持的索引顺序(联合索引仅支持and)

select * from table_name where col_1=? 
解释:刚好是联合索引的首个索引,可以命中索引(最左前缀原则)

4.2 select * from table_name where col_1 = ? and col_2
解释:刚好是联合索引的前两个索引,可以命中(最左前缀原则)
4.3 select * from table_name where col_1=? and col_2=? and col_3 = ? 解释:是联合索引建立的目的,最大化利用联合索引达到优化查询的目的;
4.4 select * from table name where col_3 = ? and col_2 = ? and col_1 = ? 解释:;查询优化器可以将上述sql优化成4.3一样,可以命中索引

5. 联合索引不知 or  使用or连接各个查询条件无法命中索引

 

6. 联合索引在b+树中的结构

 

转载于:https://www.cnblogs.com/ChenXionghfut/p/9661038.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值