【发布时间】:2017-05-21 07:25:59
【问题描述】:
一条sql查询:
例如:
select id from user where age != 20 and age between 18 and 30;select id from user where age between 18 and 30 and age != 20;
以上只是一个简单的例子。
问题:
如果数据很多,上面两个语句在性能上会有什么区别? 我该如何选择呢?
提示: 如果字段“年龄”已经有索引。
与上面的问题不同。我被问到的问题是:
我不关心"where"的顺序,我只关心<>和bewteen and的不同顺序是否有不同的效果,因为它们属于查询范围,查询范围可能存在数据倾斜问题。
就像@axiac 说的那样
【问题讨论】:
-
使用 EXPLAIN 查看查询优化器在做什么