现在有一个报表接口的项目,数据量比较大,我写了一个存储过程,用循环的方式把对方需要的数据查询出来之后插入了一张临时表,然后在存储过程中定义了一个游标输出变量,把临时表的最终的结果通过游标变量输出的方式传给对方系统,这样有一个问题就是,写临时表需要的时间比较长,有没有办法不通过临时表,定义一个类似于模型的东西,把向临时表insert数据的操作转换成向模型填充数据,数据填充完毕之后,再进行输出Oracle存储过程 结果集 游标变量输出
解决方案 »
- 唯一键 数据库大批量插入操作 性能影响
- IMP/EXP问题
- 请教问题,error信息为:ora-04502,ora-00604,ora-03232,ora-02063
- oracle进程处理数的问题(不能超过150个?)<在线等,正在用户那里调试,急呀,解决马上给分>
- 求救在线急等,!!!!!!!!!!!
- oracle 存储过程 怎么少用 if then
- 高分急求!!!如何用SQL语句判断库中是否存在所查表或所查列名???
- 读取数据排序的问题
- about remote_login_passwordfile
- windows下的PLSQL Developer连接linux的oracle服务
- VC ADO oracle 操作后的结果如何写成excel
- 【如何取个每id最近一个时间的记录】
如果因为数据量特大,倒是可以考虑多线程的方式比如说:用一个线程读数据,用另外一个线程插入数据,这种情况没必要用临时表了读数据的话,提交频率不能过高也不能太低,每次处理大数据量的时候,我发现500条一次效果不错
试试集合方式代替临时表
只能先试试,如果数据量太大,估计内存也撑不住,还是临时表稳定些
而且我测试了两种表,一种是临时表,一种是固定表,我发现同样的数据,2300条,固定表插入用时8.6,秒,临时表用时9.6秒,为什么有这种差异呢