Windalove 2021-07-14 21:20 采纳率: 0%
浏览 46

最左前缀原则的例子问题..

a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。疑惑是:‘如果建立(a,b,d,c)的索引则都可以用到’这句话如何理解。不是总有一个在>后面,这时候不是需要停止匹配 如何都用到

  • 写回答

2条回答 默认 最新

  • 咕泡-灰灰老师 2021-07-14 21:22
    关注

    a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,这个主要原因是因为c是范围查询,因为是范围查询,会导致我下一个索引列失效,而我的索引列的顺序是 a b c d,d是c的下一个索引列
    如果建立(a,b,d,c)的索引则都可以用到,那是因为那是因为索引列的顺序 a b d c,c是最后一个索引列,所以,后面没有索引列,就都能用到索引

    评论

报告相同问题?

问题事件

  • 创建了问题 7月14日