联合索引和最左前缀原则

(1)也称多列索引、复合索引。

(2)联合索引就是把多个列按照顺序放到一个索引树上。

(3)一个索引上最多可以建16列。

(4)联合索引可以看成排好序的数组

          排序规则是:先按照第一个列进行排序,第二列再按照第一列排好序的基础上再进行排序,依次类推

(5)需要按照最左前缀原则才能生效

        最左前缀原则:按照最左边的列开始的顺序并且不能跳过其中的列。

                                 如:(name, age,position)是一个联合索引,支持(name)(name, age)(name, age,position)查找,不支持( age,position)查找

                                有的时候你没有使用最左前缀原则写sql,优化器可能会帮你进行优化成最左前缀原则,如(age,name )也可能使用联合索引。但是写sql 的时候还是要严格按照最左前缀原则而不是依靠优化器

         5.6及之后索引条件下推对范围查询导致索引失效和跳字段导致索引失效进行了优化。 8中使用了松散索引扫描,对没有带头大哥的情况进行了优化

(6)联合索引能使用到的索引列越多越好

(7)如果表可以建联合索引就优先建联合索引,而不是分开多个单索引。

(8)范围查找会导致其右边的列索引失效

(9)or肯定也是会使联合索引失效。原因是联合索引树结构和最左前缀原则中可知

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值