关于where语句提问

来源:2-4 [SQL Server基础]where 关键字

慕粉2015562750

2016-11-01 11:41

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

写回答 关注

1回答

  • ericguang
    2016-11-01 15:31:06
    已采纳

    执行效率会有差别

    如果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

    慕粉2015...

    非常感谢!

    2016-11-08 10:54:49

    共 1 条回复 >

SQL Server基础--T-SQL语句

SQL Server基础教程,主要讲解TSQL的基本查询语句和基本用法

175197 学习 · 558 问题

查看课程

相似问题