求助一道MySQL的题目
MySQL一张表中,有Id a b c d五个字段,只做这个查询: select * from table where a >? and b <? and c = ?,请问怎么建索引会高效
全部评论
cab或者cba吧,索引失效的部分可以走索引下推
送花
回复
分享
我觉得 ca cb选一种建联合索引
送花
回复
分享
网易互娱
官网直投
这个索引只要C在最前面就行了,sql查询优化会帮你解决剩下的问题的
送花
回复
分享
在这个查询中,c的值是确定的(等于问号?的值),而a和b的范围是不确定的。因此,理想的索引顺序应该是:
c: 因为它是一个等值查询,可以非常有效地定位到一小部分行。
a: 接下来是a,因为它是大于某个值的范围查询,这样的索引可以帮助快速排除大量不匹配的行。
b: 最后是b,也是范围查询,但它是在a已经过滤后的结果集上进行的,所以它的重要性相对较低。
送花
回复
分享
相关推荐
投递快手等公司10个岗位 >
点赞 评论 收藏
转发
点赞 评论 收藏
转发
查看15道真题和解析
点赞 评论 收藏
转发