开发语言:JAVA ,JDBC
数据库:Oracle 9/10
问题描述:
在开发一个模块的时候,需要用到同时批量更新或者插入上万条数据,
由于批量更新和插入的SQL语句涉及到不同的表和不同的字段,就是SQL语句不确定,每条都可能是不同的,所以不能用PrepareStatement,而不得不用Statement的addBetch()
但是用statement的话,效率非常低,有什么方法可以解决statement的效率问题。
数据库:Oracle 9/10
问题描述:
在开发一个模块的时候,需要用到同时批量更新或者插入上万条数据,
由于批量更新和插入的SQL语句涉及到不同的表和不同的字段,就是SQL语句不确定,每条都可能是不同的,所以不能用PrepareStatement,而不得不用Statement的addBetch()
但是用statement的话,效率非常低,有什么方法可以解决statement的效率问题。
解决方案 »
- 急!!!Oracle11G_R2 DataGuard 主库进行RMAN不完整恢复后,发现备库的信息不在同步,求解决方法
- 高分求助……………………………………急:oracle里的临时表:
- 关于大对象(LOB)的问题(参与讨论给分)
- win7 64位安装oracle 12C 失败?
- 在pl/sql developer中哪里可以查看到oracle的所有关键词
- 如何删除单个数据表中个别字段重复的数据,急★☆☆★☆★☆★☆★☆
- 如何设置使oracle开机不自动运行
- 无法启动OracleOraHome81ManagementServer 服务。错误997:重叠I/O操作在进行中。
- 紧急问题,求救高手,谢谢!
- 客户要求通过程序实现备份数据库,能在客户端把数据库备份为一个文件,有何建议??
- 表操作相当慢
- oracle游标遇到问题,请高手帮忙解答。
如果你的批量操作没有顺序要求,那么可以不使用循环而用PreparedStatement的addBatch.另一方面,你也可以开发存储过程,一次性传入一批数据,由它解析并用forall等方法完成批量操作。
也不会得到很好的性能。
所以首先还是从应用的角度,重新规划一下为好。
就是没明白你的“SQL语句不确定”啥意思?呵呵!你的表和字段都是定的,sql怎会不定?呵呵!
或者
update table set a = *** where b = * and c = * 而我这里是table和 a,b,c 都是变化的。