我在执行计划里面看,同一语句用in与EXISTS 的执行计划是一样的。

解决方案 »

  1.   


    在某些时候,它们在功能上是等价的,但使用场合显然不同。
    EXISTS常用来判断,IN主要是对后面的结果集进行统一处理。
    只要根据情况选取合适的关键字,性能上应该差不了多少。
      

  2.   

    不一样的exists  返回的是true 或者 false 不返回数据集
     in 返回数据集 ~~根据自己个人情况 定了 ~~
      

  3.   

    很多地方都说In 比较差一点。此外,In还有一个问题,返回的值个数有限制(在ORACLE中不能超过1000个)
      

  4.   

    我认为主要是Exists支持多字段,IN只能用于一个字段
      

  5.   

    外表大 内表小  in
    外表小 内表大  exists
      

  6.   

    in和exists 1,in返回数据    exitsts返回BOOL2,exitsts的性能更优  (当然要在大数据中才能反映)