Oracle 10g 官方文件《Database Utilities》中明確指出,Data Pump Export/Import(expdp/impdp)的效能優勢主要來自以下幾個關鍵因素:
expdp 支援多個 Worker Process 同時運作,可對表(Inter-table)與分區進行並行處理,並採用多條 Direct-Path Stream 直接讀寫資料,大幅縮短匯出/匯入時間。對於超大型表或分區,單一 Worker 亦可透過 Parallel Query 與 Parallel DML I/O Server Process 實現分區內並行。
exp 為用戶端工具,資料必須經由網路從伺服器傳至客戶端,再寫入轉儲檔;expdp 則直接在資料庫伺服器上讀寫轉儲檔,完全省去網路傳輸環節,效能提升顯著。
exp 產生的轉儲檔本質是 SQL INSERT 陳述式,需經過客戶端解析與綁定變數轉換;expdp 的轉儲檔採用 Direct Path API 的內部串流格式,與資料庫資料檔中的資料塊格式高度相似,無需客戶端轉換,讀寫效率極高。
expdp 支援 Direct Path 存取(單一串流效能最佳)與 External Tables 特性,後者能充分利用 Oracle 並行查詢與並行 DML 能力,遠快於傳統 SQL 路徑。
匯入階段,expdp 能平行建立索引、載入 Package Body,進一步縮短整體匯入耗時。
匯出時,Metadata 與 Data 的提取可同時進行,不必串行等待。
因此,對於中大型資料庫遷移、備份還原場景,expdp/impdp 是無可爭議的首選工具。