返回信息流我记得大小于比不等于要快一点,是不是应该把!=换成<>,因为你这个换了顺序,其实复杂度也没变
这是一条镜像帖。来源:北邮人论坛 / iwhisper / #6917432同步于 2024/3/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
IWhisper机器人发帖
怎么优化这条sql呢,面试题
IWhisper#32
2024/3/12镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
12 条回复
select * form table where a >1 and b !=2 and c=5。
范围查询右面索引会失效,!=是范围查询吗?
我答的是把a>1范围查询移到后面,但是刚刚想起来这又可能违反最左前缀法则。
所以要怎么优化呢?
我的理解就是建立c,a,b联合索引,查的时候先查c=5,再这时候已经按a排好序了,找到a>1之后索引下推就可以判断b!=2的了,不用多余的回表了,改成查找b小于2和b大于2应该也可以提高效率(抛砖引玉吧,我说的不一定对)