美文网首页
联合索引最左前缀原理

联合索引最左前缀原理

作者: 吕艳凯 | 来源:发表于2020-04-06 11:07 被阅读0次

    B+Tree对索引列是按顺序组织存储的
    例如三个字段的联合索引abc,由于是按
    a相同后按b顺序排列,b相同后再按c顺序排列的原则。因此abc联合索引能够⽤
    来查找a、a%、ab、ab%、abc组合查找(%标识模糊匹配),这种根据索引对
    数据的存储顺序所能命中使⽤索引的规则,由于按最左字段顺序排列称为最左前
    缀原则。

    索引失效的情况:
    不从最左列开始查找:直接找bc,⽆法使⽤abc索引。

    跳过中间的列查找:
    找ac,⽆法使⽤abc索引。

    中间某个列是范围查找:
    找ab%c,则由于中间b为模糊匹配,范围查找
    或者 a=1 and b > 2 and c=4,b范围查找
    那么只能使⽤ab两列的索引,c列的索引⽆法使⽤。

    列使用函数:
    当查询条件列使用函数时,无法使用索引

    由于此最左前缀原则,因此我们可以将区分度最⾼的列放在最前⾯

    相关文章

      网友评论

          本文标题:联合索引最左前缀原理

          本文链接:https://www.haomeiwen.com/subject/vfmvphtx.html