Oracle中IN参数个数超过1000的解决方案
来源:互联网 发布:免费热敏打印软件 编辑:程序博客网 时间:2024/06/05 07:04
Oracle中IN参数个数超过1000的解决方案,求大神指教!
在oracle中,使用in方法查询记录的时候,如果in后面的参数个数超过1000个,那么会发生错误,JDBC会抛出“java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000”这个异常。比如执行select * from table where id in (1, 2, …, 1000, 1001, …..,1999)时。
在网上搜了一下,解决方案都是将参数分段,即select * from table where id in (1, 2, …, 1000) or id in(1001, ….., 1999)。
但是这种方式感觉效率太低,当参数特别多的时候可能非常慢。
请教各位大神,有没有其他的解决方案可以解决这个问题?
——解决思路-———————
引用:
改SQL,参数太多了,只有想其他办法
比如:
select * from table where id in (1, 2, .. ., 1000)union allselect * from table where id in (1001, .... ., 1999)
——解决思路————-
select *
from table
where id in (
select 1 from dual
union all
select 2 from dual)
不过还是建议建临时表,把in里面的数据插入到临时表中,然后用临时表写条件查询
——解决思路———————-
引用:
请问临时表要怎么建呢?我是通过java 操作数据库的
就是建立一个表来存储传入参数,取数据的时候先从临时表中遍历取参数,然后再将取出的参数拿去作为条件用,
——解决思路———————-
把这 2000 个值写到一个临时表中,直接 in 一个子查询
select * from t where id in (select id from temp)
——解决思路———————-
引用:
把这 2000 个值写到一个临时表中,直接 in 一个子查询
select * from t where id in (select id from temp)
赞同。。
——解决思路———————-
引用:
先感谢一下楼上各位!确实可以用这种方式解决
再请教一下,怎么插入临时表效率更高?一条一条插肯定是很慢的
插入的话本身应该是很快的,虽然条数很多,但是时间也不会很长
如果还嫌慢的话可以插入是加上append参数,这样不用写日志,直接写入数据库
insert /+append/ into
- Oracle中IN参数个数超过1000的解决方案
- Oracle数据库中IN参数个数超过1000的问题
- 关于oracle in后的参数个数超过1000问题
- 关于oracle in后的参数个数超过1000问题
- oracle中in的个数超过1000的解决办法
- Oracle查询中IN参数超过1000的解决方法
- oracle数据库查询语句in后面的参数个数超过1000的处理方式
- Oracle in超过超过1000的解决方案(JAVA版本)
- 处理 Oracle SQL in 超过1000 的解决方案
- JAVA 处理 Oracle SQL in 超过1000 的解决方案
- Oracle中的in参数的个数限制
- 针对oracle中in操作超过1000个参数 会抛异常 处理实例
- sql 查询 in里的个数超过1000 实用方法
- Oracle子查询in的参数个数问题
- oracle in 超过1000 ,mybatis实现
- nginx下rewrite规则中参数超过10 $10 解决方案
- jdbc查询语句中in后传参数问题的解决方案
- 找出一组数中个数超过一半的数
- 飞机大战游戏(java实现)
- 【模拟】洛谷 P1089 津津的储蓄计划
- 模仿购物车实现ListView中商品数量的添加以及总价的调整
- sql的优化
- centos6 安装选包
- Oracle中IN参数个数超过1000的解决方案
- 考试篇(5.2) NSE4 题库 21. IPv6 ❀ 飞塔 (Fortinet) 网络安全专家
- PHP——防止Emain注入
- ES6 -- 异步编程神器2:Generator
- .net操作SQLite数据库
- eclipse配置git
- 电商超卖
- 大数据IMF传奇行动绝密课程第120课:Spark Streaming性能优化:如何在End-to-End生产环境下安全高效地把结果数据存入HBase中
- poj之旅:1195 树状