存储过程里使用Commit的时机 另外忘记还有1个信息:就是每次Insert到1个表A后,接下来可能在Select中需要使用表A或者关联表A。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你确定每次都是十几万行的话,则如果每个INSERT/UPDATE语句后都COMMIT一次,这样效率很差的,因为COMMIT的时候,数据库需要做事务相关的操作,也要用时间的;而你每次执行完十几万条INSERT/UPDATE后做一次COMMIT,也是不可取的;比较习惯用的方法是:每做完5000条或者1w条,或者2w条,做一次COMMIT,效率一定比“每个INSERT/UPDATE语句后都COMMIT一次”快。但是具体5000条快,还是1w条快,还是2w条快,不一定了,需要你做测试的。 好像用plsql导出数据,文件是SQL文件的时候,每行都会有commit。一般用pde格式导出,速度很快。 根据业务需求确定一个合适的量,分批commit。还有就是看你的业务是否需要用事务处理,要做好相应的策略 不能一条一个commit,降低效率也不能一次性提交 ,否则回滚段太大 完成需求是第一位的,如,事务一致性前面都commit了,后面的操作如果有错误,是否需要把前面的也rollback回来。 第二种比较好,一次提交,保持数据一致性。并且,commit时,并不是在对硬盘数据库写数据。真正写数据的是DBWn进程。 具体的要看具体的业务需求了,如果每个insert、update都commit了,那如果有错误的话,如何rollback。具体的效率高低:一个要看执行的计划。另外还要综合考虑磁盘I/O操作过于频繁也会降低效率的,如果每次insert一次或update一次这样式写入多次,增加了磁盘的I/O操作的。 oracle操作语句 新手报到 java下的程序,请高人指点,能否用触发器来实现? 100分哟!!!! 如何让视图的状态从invalid变成valid sql 怎麼在SQLPLUS中把數據庫中表的內容導出到EXCEL中,以及把EXCEL中的內容導入到數據庫中的某個表中... 如何得知是哪个session id更新记录的... 急!急!急!100分===windows XP 英文专业原版 哪里有下载点?===100分 有关执行JOBS时间,不明白,请指点 ORACLE 调用c++ 写的dll报错 PLSQL 超难sql语句,有人会写吗!
而你每次执行完十几万条INSERT/UPDATE后做一次COMMIT,也是不可取的;
比较习惯用的方法是:
每做完5000条或者1w条,或者2w条,做一次COMMIT,效率一定比“每个INSERT/UPDATE语句后都COMMIT一次”快。但是具体5000条快,还是1w条快,还是2w条快,不一定了,需要你做测试的。
一般用pde格式导出,速度很快。
也不能一次性提交 ,否则回滚段太大
前面都commit了,后面的操作如果有错误,是否需要把前面的也rollback回来。
并且,commit时,并不是在对硬盘数据库写数据。真正写数据的是DBWn进程。
有错误的话,如何rollback。
具体的效率高低:
一个要看执行的计划。
另外还要综合考虑磁盘I/O操作过于频繁也会降低效率的,如果每次insert一次或update一次
这样式写入多次,增加了磁盘的I/O操作的。