首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 資料移動三部曲:IMPORT、EXPORT、LOAD 差異與檔案格式實戰

     編輯:DB2 教學

核心概念

DB2 的資料移動包含三大操作,方向與用途截然不同:

  • IMPORT(導入):從外部檔案 → 寫入資料表(透過 SQL INSERT,觸發觸發器、檢查約束)
  • EXPORT(導出):從資料表 → 寫出外部檔案(最簡單、幾乎不出錯)
  • LOAD(裝入):從外部檔案 → 高速寫入資料表(繞過 SQL 層、不觸發觸發器、需後續 SET INTEGRITY)

這三指令支援通用檔案格式,是異構資料庫遷移、資料倉庫 ETL、備份還原的通用介面。

支援的檔案格式

1. ASC — 非定界 ASCII(固定寬度)

純文字流,換行符分隔列,欄位靠起始/結束位置定義。適合大型機匯出、固定寬度報表。

10 head Office 160 corporate new york
15 new england 50 eastern boston
20 mid atlantic 10 eastern washington
...

2. DEL — 定界 ASCII(CSV 風格)

欄位以分隔符號(預設逗號)分隔,列以換行符分隔。可透過 MODIFIED BY 子句自訂分隔符、字串限定字元等。

10,"head Office",160,"corporate","new york"
15,"new england",50,"eastern","boston"
20,"mid atlantic",10,"eastern","washington"
...

三大指令快速比較

特性IMPORTEXPORTLOAD
速度較慢(逐列 SQL)中等極快(頁面級寫入)
觸發器/約束✅ 觸發N/A❌ 略過(需事後驗證)
鎖定行為列級鎖共享鎖表級鎖(預設)
恢復性完整記錄唯讀可選 COPY YES/NO
適用場景小量資料、需驗證邏輯備份、異構遷移大量初始載入、數據倉庫

實務提醒

  • EXPORT 最安全:唯讀操作,幾乎不會產生錯誤或髒資料。
  • LOAD 後必須 SET INTEGRITY FOR table IMMEDIATE CHECKED 才能釋放「檢查待定」狀態。
  • 跨平台遷移時,優先使用 DEL 格式並指定編碼(CODEPAGE),避免中文亂碼。
  • 大量匯入前建議 ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY 減少日誌量(需評估風險)。

小結

善用 IMPORT/EXPORT/LOAD 三劍客,配合 ASC/DEL 兩大通用格式,即可構建穩健的 DB2 資料流管線,滿足從日常備份到 TB 級資料倉庫載入的多元需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved