【DB笔试面试675】在Oracle中,如何快速复制表或插入数据?

  • 2019 年 11 月 5 日
  • 筆記

题目部分

在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程序员面试笔试宝典》,作者:小麦苗