题目部分
在Oracle中,如何快速复制表或插入数据?
♣
答案部分
快速复制表可以指定NOLOGGING选项,如:
CREATE TABLE T1 NOLOGGING AS SELECT * FROM T2;
快速插入数据可以指定APPEND提示,需要注意的是,在NOARCHIVELOG模式下,默认用了APPEND就是NOLOGGING模式的。在ARCHIVELOG下,需要把表设置程NOLOGGING模式。如:
INSERT /*+ APPEND */ INTO T1 SELECT * FROM T2;
注意:若在环境中设置了FORCE LOGGING,则以上操作是无效的,并不会加快插入的速度,当然,可以通过如下语句设置为NO FORCE LOGGING。
ALTER DATABASE NO FORCE LOGGING;
是否开启了FORCE LOGGING,可以用如下语句查看:
SQL> SELECT FORCE_LOGGING FROM V$DATABASE;
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗