老师您好,我没有特别理解
mysql会一直向右匹配知道遇到范围查询就停止匹配
这段话。
根据您课程中的例子,比如查询语句是:where a=3 and b=4 and c>5 and d=6
,我个人对上面的话的理解是:
第一个查询条件 a 不是范围查询,于是继续向右匹配; b 也不是范围查询,到了 c, c 是范围查询,于是停止匹配,因此,d 用不到索引。
如果这样理解的话,好像跟索引的顺序没什么关系啊,有关系的是查询条件的顺序啊,为什么将索引的顺序改成 (a,b,d,c)
就可以都用到索引了呢? 到了 c, 不应该是范围查询,停止匹配吗?
登录后可查看更多问答,登录/注册