应该都差不多。因为 IN 条件ORACLE会当作多个 OR 处理。
在 ORACLE 进行 SQL 语法分析时,IN 已做转换,而在读取数据时都是当作 OR 处理的。

解决方案 »

  1.   

    ORACLE不知道,在sql server是一样的,自动优化后的执行计划完全一样。
      

  2.   

    应该是in比较快!
    or的方式的oracle8i以后是不被推荐的使用方法!
      

  3.   

    这个应该差不多,我用sqlplus测试了一下,in稍微快点。不过最好是针对具体的语句来测一下。
      

  4.   

    把timing设置为开,就可以看到语句的运行时间了
      

  5.   

    从性能上来说,第一条语句快,in 是嵌套查询,oracle在sql调整中,都建议把这些嵌套查询可以的话改成标准查询。
    你用explain plan分析一下,看一下实际执行计划就知道了
      

  6.   

    用SQL SERVER试验的结果与Haiwer(海阔天空) 的一样,两条语句都会转成第一种形式后再执行。
    所以应该是一样的。
      

  7.   

    经过我对647399条数据的试验,应该是一样快的.注意where field in(val1,val2,val3)中的field要做索引,否则大数据量会比较慢.