在大容量匯入中按最小方式記錄日誌的前提條件
對於完整恢復模式下的資料庫,大容量匯入執行的所有行插入操作都會完整地記錄在事務日誌中。如果使用完整恢復模式,大型資料匯入會導致填充事務日誌的速度很快。相反,對於簡單恢復模式或大容量日誌恢復模式,大容量匯入操作的按最小方式記錄日誌減少了大容量匯入操作填滿日誌空間的可能性。另外,按最小方式記錄日誌的效率也比按完整方式記錄日誌高。
注意:
大容量日誌恢復模式旨在於大容量操作期間臨時替換完整的恢復模式。有關在完整恢復模式和大容量日誌恢復模式之間切換的資訊,請參閱從完整恢復模式或大容量日誌恢復模式切換。
在大容量匯入操作中按最小方式記錄日誌的表要求
按最小方式記錄日誌要求目標表滿足下列條件:
當前沒有複製表。
指定了表鎖定(使用 TABLOCK)。
有關詳細資訊,請參閱控制大容量匯入的鎖定行為。
注意:
儘管在按最小方式記錄日誌的大容量匯入操作過程中,資料插入操作沒有記錄在事務日誌中,但每當為表分配新區時,資料庫引擎仍會記錄區分配資訊。
對於某個表,是否按最小方式記錄日誌還取決於該表是否有索引,如果有,則還取決於該表是否為空:
如果表沒有索引,則按最小方式記錄資料頁。
如果表沒有聚集索引但是有一個或多個非聚集索引,則始終按最小方式記錄資料頁。但是,記錄索引頁的方式取決於該表是否為空:
如果該表為空,則按最小方式記錄索引頁。
如果該表不為空,則按完整方式記錄索引頁。
注意:
如果您以空表開始並分多批大容量匯入資料,則對於第一批,將按最小方式記錄索引頁和資料頁,但從第二批開始,將只按最小方式記錄資料頁。
如果表有聚集索引且為空,則按最小方式記錄資料頁和索引頁。相反,如果表有聚集索引且不為空,則無論採用何種恢復模式,均按完整方式記錄資料頁和索引頁。
注意:
如果您以空表開始並分批大容量匯入資料,對於第一批,將按最小方式記錄索引頁和資料頁,但從第二批開始,將只按大容量方式記錄資料頁。
有關詳細資訊(包括大容量匯入過程中的表鎖定和日誌記錄行為的摘要),請參閱優化大容量匯入效能。
最佳方法:當使用大容量日誌恢復匯入一組大型錶行時,請考慮將大容量匯入分成多批。每批相當於一個事務。這樣,完成一批後,就可以備份其日誌。下一次日誌備份將回收用於大容量匯入行批的日誌空間。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503397/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在SQL Server中謹慎匯入匯出大容量資料SQLServer
- 關於大容量匯入和大容量匯出操作
- openGauss 前提條件
- Java日誌記錄的5條規則Java
- 優化大容量匯入效能優化
- 管理大容量匯入的批處理
- 在大容量日誌恢復模式下進行還原模式
- 有條件分析oracle日誌Oracle
- php日誌,記錄日誌PHP
- controlfile的extend也會記錄在alert日誌中
- 匯入大容量資料的基本原則
- nginx日誌檔案按天記錄定時清理迴圈記錄Nginx
- Kubernetes前提條件準備
- 在日誌中記錄Java異常資訊的正確姿勢Java
- NAS中如何檢視日誌記錄?
- 日誌記錄器
- 使用配置檔案方式記錄Python程式日誌Python
- 第12章 管理資料庫日誌記錄方式資料庫
- 刪除重做日誌檔案組的四大限制條件
- Stream中filter過濾條件問題記錄Filter
- 運輸計劃和處理的前提條件
- C#原生郵件傳送+傳送日誌記錄C#
- oracle歸檔模式下imp匯入資料,產生的歸檔日誌大小記錄Oracle模式
- SAP MM 自定義條件型別出現在採購資訊記錄的'條件'介面裡 ?型別
- 使用 logzero 在 Python 中進行簡單日誌記錄Python
- 如何在專案中記錄日誌資訊?
- 禁用 Logback 中特定類的日誌記錄
- 觸發LGWR程式寫日誌的4個條件
- 【LINUX 學習】Ext3 的三種日誌記錄方式Linux
- Laravel sql 日誌記錄LaravelSQL
- secureCRT記錄操作日誌Securecrt
- 記錄日誌檔案
- PHP日誌記錄方法PHP
- oracle日誌操作記錄Oracle
- mysql source code源代安裝的前提條件requirementMySqlUIREM
- 資料庫防火牆商業化的前提條件資料庫防火牆
- 日誌服務資料匯入
- mybatis-plus匯入sql日誌MyBatisSQL