首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2012-02-21 
为什么sql中使用in语句后速度狂降?语句一:select*fromtabwhere条件一语句二:与语句一完全相同,只是增加了

为什么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);

热点排行