Oracle in查询1000条限制的解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle in查询1000条限制的解决方案相关的知识,希望对你有一定的参考价值。

参考技术A 现在在一个Session连接里边就可以实现联合查询了,即解决了“in”的限制,又提升了查询的速度。

Oracle中的in参数的个数限制

遇到了这个问题 “oracle中in参数个数限制”,这里记录下,

 

in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000.

 

当in的个数大于1000时,解决办法有:

(1)对参数进行处理,分成多个in,其中每个in列表中参数都小于1000,如 in(1,2,3.........1000) or  params in(1001,1002...2000).

不过这种方法性能和维护性方面不好

 

(2)是将in后面的字符串改成了子查询,将in里面的数据保存到临时表中,params in(select ....from dual )

以上是关于Oracle in查询1000条限制的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库查询用 where in 查询的项超过1000条的解决方案

Oracle中的in参数的个数限制

oracle select in超过1000条报错解决方法

解决Oracle使用in语句不能超过1000问题

解决Oracle使用in语句不能超过1000问题

Oracle in 1000 的异常处理方案和思考