insert /*+append*/ 和nologging在歸檔和非歸檔模式下redo測試

在歸檔模式和非歸檔模式下,設定表爲logging和nologging,測量普通的insert 和insert /*+append*/生成redo大小。第一次測試我對下列結果報懷疑態度,於是又重新測試一遍,結果差不多,想想是測試的數量太少。如果是在正式環境上做數據遷移,最好就選擇最後一種模式。
 

模式 普通insert下redo生成量(Byte) insert/*+append*/下redo生成量(Byte)
非歸檔模式(表logging) 5706324 88340
非歸檔模式(表nologging) 5685864 63348
歸檔模式(表logging) 5686196 63424
歸檔模式(表nologging) 5685364 63348

Oracle 的 nologging 的使用,同時滿足一下三個條件纔不會真正產生日誌
1.表空間:alter tablespace table_name nologging;
2.表:alter table table_name nologging;
3.插入:insert /+append/ into table_name select * from table_name1;
————————————————
使用情形:
       1)(主要運用)大數據量插入,提高插入效率;
       2)較少可重用空間的表中(exp:只插入很少刪除數據的表);
副作用:
       經常使用APPEND會使該表的空間需求一直維持在高水位;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章