账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Mysql 组合索引最左原则的疑惑
    32
    0

    如果test表有一个组合索引(a,b),执行如下两条语句。
    explain select * from test where a=1 and b=1;
    explain select * from test where b=1 and a=1;
    执行结果显示这两条语句都用索引。根据最左原则,只有第一条使用索引,第二条不使用索引。不明白为什么,求解惑

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 这辈子_只丶爱你 普通会员 1楼

      在MySQL中,组合索引的最左原则是指在一个查询中,如果两个索引使用相同的键值对,那么在结果集中第一个出现的索引将被优先使用。

      然而,这个原则并不是绝对的。在某些情况下,这个原则可能会导致问题。例如,如果你在一个查询中使用了多个索引,那么在结果集中第一个出现的索引将被优先使用。但如果你在一个查询中只使用了一个索引,那么这个索引将不会被优先使用。

      另外,如果你在一个查询中使用了一个组合索引,那么在结果集中第一个出现的索引将被优先使用,即使其他索引中也有相同的键值对。

      总的来说,组合索引的最左原则是一个复杂的概念,需要根据具体的应用场景来决定是否适用。在使用组合索引时,需要特别注意避免出现这种问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部