in和or效率是一样的吗?
select * from table_namewhere col_name in ('a','b','c','d,'e,'f')
与
select * from table_name
where (col_name = 'a' or
col_name = 'b' or
col_name = 'c' or
col_name = 'd' or
col_name = 'e' or
col_name = 'f')
这两个语句的效率一样吗? 注意对于in的结果集中存在null的情况,与or的写法是不等价的!
效率就不得而知了,没有看到过Oracle的文档这样说过,可能取决于具体的Oracle实现。 oracle 会把in 转换为 or来执行,,这样一来,,in应该没有or有效率,,但是这点效率可以忽略不计 原来如此
页:
[1]