大的插入操作能不能不记录到回滚段,实在太慢了~! 1个多小时了,RBS都扩展到1300M了,时间都浪费在EXTENT上了:( 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 insert /*+ append */ into .... 2百万条记录 不可以分开 insert 吗把表改成 nologging 不好分开,表改成nologging可行吗?没有试过:)insert /*+ append */ into ....是什么意思啊? 直接 insert 到表的 HWM 后面 加快insert的速度 nologging也只是不写redo rollback segment 还是要写的 l2g32003(leeshow) 大侠怎么直接 insert 到表的 HWM 后面 ?不会啊:( 方案1、数据库连接时可以设定AutoCommit = TRUE,即表示自动提交。方案2、如果可以分开的话,比如:每插入10000条提交(commit)一次。方案3、单独指定一个大的回退段给它,这样不会影响到其它连接。 2万条记录,你可以控制一下,比如每两千条就commit一下。具体多少条commit你可以根据实际情况定。想不写会滚段,好像不行。 insert /*+ append nologging parallel*/ into ....select ....就这样,我用过,从5亿条到另外的表。 采用以下方法:ALTER TABLE tab NOLOGGING; 不写日志ALTER SESSION ENABLE PARALLEL DML; 可进行动态并行处理INSERT /*+ PARALLEL(tab ,4) */ INTO tab SELECT /*+ PARALLEL(t_emp,8) */ * FROM t_emp;COMMIT; ALTER TABLE tab NOLOGGING; 不写日志写rbs多次提交是个好办法,否则rbs会撑死了.ALTER SESSION ENABLE PARALLEL DML; 可以试试. insert /*+ append nologging parallel*/ into ....select ....INSERT /*+ PARALLEL(tab ,4) */ INTO tab SELECT /*+ PARALLEL(t_emp,8) */ * FROM t_emp;我只会在/* */里用索引,呵呵,不知道上面的到底是什么意思啊。哪位老大给解释一下啊 INSERT /*+ PARALLEL(tab ,4) */ INTO tab SELECT /*+ PARALLEL(t_emp,8) */ * FROM t_emp;中的/*+ PARALLEL(tab ,4) */语句表示对tab表进行并行处理,并行度为4,即同时4个线程参与相关运算并行度的大小主要由CPU的个数,磁盘阵列模式决定。最佳并行度为CPU个数+1 用并行是不是要使用ORACLE并行服务器模式啊,我装的ORACLE没有使用OPS模式啊 不是 一般多个cpu使用并行 一个cpu有时用并行效率也可提高 一个关于时间的问题。。。 请教这个查询该怎么写 oracle连接数的问题 ORACLE监听程序的异常,求助各位 pl/s 下如何执行多条插入或者其他的脚本,而不报‘命令未正确结束’方法??特急,请各位指教 请教两个关于oracle存储过程的问题。 pl/sql 问题 急!!!!在线等 这个语法对吗? Pro c 在Oracle9.2下不能设置option oracle数据备份问题 一个很简单的问题,希望大家顺手帮忙一下,不胜感激!
把表改成 nologging
nologging也只是不写redo
rollback segment 还是要写的
怎么直接 insert 到表的 HWM 后面 ?不会啊:(
方案2、如果可以分开的话,比如:每插入10000条提交(commit)一次。
方案3、单独指定一个大的回退段给它,这样不会影响到其它连接。
就这样,我用过,从5亿条到另外的表。
ALTER SESSION ENABLE PARALLEL DML; 可进行动态并行处理
INSERT /*+ PARALLEL(tab ,4) */ INTO tab
SELECT /*+ PARALLEL(t_emp,8) */ * FROM t_emp;COMMIT;
多次提交是个好办法,否则rbs会撑死了.
ALTER SESSION ENABLE PARALLEL DML; 可以试试.
insert /*+ append nologging parallel*/ into ....select ....INSERT /*+ PARALLEL(tab ,4) */ INTO tab
SELECT /*+ PARALLEL(t_emp,8) */ * FROM t_emp;
我只会在/* */里用索引,呵呵,不知道上面的到底是什么意思啊。哪位老大给解释一下啊
SELECT /*+ PARALLEL(t_emp,8) */ * FROM t_emp;
中的/*+ PARALLEL(tab ,4) */语句表示对tab表进行并行处理,并行度为4,即同时4个线程参与相关运算并行度的大小主要由CPU的个数,磁盘阵列模式决定。
最佳并行度为CPU个数+1