mysql的联合索引

但是假设你要是在联合索引里把age放在中间的位置,设计一个类似(province, city, sex, age, hobby,
character)的联合索引,接着SQL写成where province=xx and city=xx and sex in(xx, xx) and
age>=xx and age<=xx and hobby in (xx, xx, xx, xx) and character=xx的话,那么不好意思,只有
province, city, sex, age几个字段可以用上索引。

因为在SQL里,一旦你的一个字段做范围查询用到了索引,那么这个字段接下来的条件都不能用索引
了,这就是规则!

所以说,实际设计索引的时候,必须把经常用做范围查询的字段放在联合索引的最后一个,才能保证你
SQL里每个字段都能基于索引去查询

核心重点就是,尽量利用一两个复杂的多字段联合索引,抗下你80%以上的 查询,然后用一两个辅助索
引抗下剩余20%的非典型查询,保证你99%以上的查询都能充分利用索引,就能保证你的查询速度和性
能!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值