暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL优化之最左前缀原则分享

IT那活儿 2023-11-20
333

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!  


索引结构

联合索引结构

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

常见案例

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

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

示例:

  • where a =1 and b =2 and c >3 and d =4
    如果建立( a , b . cd )顺序的索引, d 是用不到索引。
    如果建立( ab , d , c )顺序的索引则都可以用到。
3.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



本文作者:事业二部(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论