绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
SQL优化之左前缀原则分享
2022-06-27 17:48:04





索引结构





联合索引结构


所以可以沿着这两个索引树来进行检索:
所以where条件里的内容看是否能走索引则看左前缀原则是否满足。




常见案例


左前缀的使用,有两条说明:

1. Mysql 从左向右匹配直到遇到范围查询(>、<、between 、like)就停止匹配。

示例:

  • where a =1 and b =2 and c >3 and d =4。
    如果建立( a , b . cd )顺序的索引, d 是用不到索引。
    如果建立( ab , d , c )顺序的索引则都可以用到。
2. where 条件中=和 in 是可以乱序的, mysql 的查询优化器会帮你优化成索引可以识别的形式。

示例:

  • 建立( a , b , c )索引。
    where a =1 and b =2 and c =3。
    where b =2 and a =1 and c =3。
这个对于oracle和mysql都是一样的。
因此对于联合索引,等号查询条件的乱序是无所谓的。


END


转载自:
https://mp.weixin.qq.com/s/z_0JRcJQ-rxaZxO2IdTzJw


分享好友

分享这个小栈给你的朋友们,一起进步吧。

SQL Server专区
创建时间:2020-05-14 14:17:02
SQL Server 是Microsoft 公司推出的关系型数据库管理系统
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~