为了账号安全,请及时绑定邮箱和手机立即绑定

关于where语句提问

where color='white' or color='black'这条语句和where color in ('white','black')的区别?

正在回答

1 回答

执行效率会有差别

如果in和or所在列有索引或者主键的话,or和in没啥差别,执行计划和执行时间都几乎一样。
如果in和or所在列没有索引的话,性能差别就很大了。在没有索引的情况下,随着in或者or后面的数据量越多,in的效率不会有太大的下降,但是or会随着记录越多的话性能下降非常厉害。or的效率为O(n),而in的效率为O(logn), 当n越大的时候效率相差越明显。
转载:  http://blog.chinaunix.net/uid-20639775-id-3416737.html

0 回复 有任何疑惑可以回复我~
#1

慕粉2015562750 提问者

非常感谢!
2016-11-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于where语句提问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信