请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于最左前缀匹配

图片描述

a = 3 and b = 4 and c > 5 and d = 6,d用不到索引,是因为它在最右,还是因为,c >会停止匹配???
如果是(a,b,d,c)为什么都可以用到? C 不是在最右侧么

正在回答 回答被采纳积分+3

1回答

翔仔 2019-08-26 11:02:57

同学好,遇到>范围查询的话就会被停止了,可以从数据结构层面来理解,如果你设定的索引是按照 a ,b , c, d的顺序的话,到了c之后,就走了多个分叉,因此最多只能到c,因为c到d会有多种范围,而如果调整索引为a ,b ,d,c 则到c才出现分叉

0 回复 有任何疑惑可以回复我~
  • 提问者 慕田峪3367142 #1
    最左选择,是最右侧的  使用不到索引,可以这么理解么,   c还是能使用到索引  是因为  c>5  而不是c=5么
    回复 有任何疑惑可以回复我~ 2019-08-26 11:34:44
  • 翔仔 回复 提问者 慕田峪3367142 #2
    同学好,这样总结得不够精确,因为如果a,b,c,d的索引,你如果到b就用了>,那么c和d就走不了索引了,不能算是最右侧的。
    回复 有任何疑惑可以回复我~ 2019-08-26 23:35:17
  • a = 3 and b = 4 and c in (5,6,7,8) and d = 6
    这样d还会用到联合索引吗
    回复 有任何疑惑可以回复我~ 2019-11-24 11:48:43
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号