当前位置: 代码迷 >> Oracle开发 >> 为什么sql中使用in语句后速度狂降?该如何解决
  详细解决方案

为什么sql中使用in语句后速度狂降?该如何解决

热度:38   发布时间:2016-04-24 07:58:41.0
为什么sql中使用in语句后速度狂降?
语句一:select   *   from   tab   where   条件一
语句二:与语句一完全相同,只是增加了一个   in(1,2,5...20)子句

为什么语句二比语句一要花几倍的时间呢?

------解决方案--------------------
因为执行计划改变了

把in改成exists

例如:

select a.* from table_a a where a.name exists(select b.name from table_b b where b.id=a.id);
  相关解决方案