如何使用union All放置超过100万个

时间:2014-08-31 13:28:38

标签: sql oracle oracle11g query-performance

我有一个逗号分隔的许多ID列表(这里的数据库大小非常大)。有时此列表可能超过1000个项目,此时Oracle会抛出错误。查询与此类似......

select * from table where ID in (1,2,3,4,5,6...,1001,1002,1003...)

上面的查询抛出一个错误,说Oracle中的表达式限制只有1000.所以我尝试了下面的查询

select * from table where ID in (1,2,3,4,5,6...,1000)
union all
select * from table1 where ID in (1001,1002,1003...)

以上查询有效;好。我的问题是我有100万个ID,我需要使用上面的查询来选择。是否可以将此查询框架为1000& s;& 1000使用UNION ALL获得100万个ID?使用Oracle 11g的性能如何?

是否可以使用union All发送100万个ID的多个语句。如果是这样,数据库会产生什么影响?

我也用OR检查过;但最终失败了。我没有权限在我的数据库中创建临时表。

0 个答案:

没有答案