【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程式設計師面試筆試寶典》,作者:小麥苗