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

DB2 數據裝載進階:LOAD/INPOR 命令詳解、自增列處理與檢查掛起解除

     編輯:DB2 教學

核心命令速查表

場景命令範例關鍵說明
追加導入 (IMPORT)import from /path/TABLE1.ixf of ixf insert into TABLE1;較慢,支援觸發器/約束,適合小數據量
追加裝載 (LOAD INSERT)load from /path/TABLE1.ixf of ixf insert into TABLE1;高性能,繞過大部分約束,需較高權限
替換裝載 (LOAD REPLACE)load from /path/TABLE1.ixf of ixf replace into TABLE1;裝載前清空表數據
重啟失敗裝載load from /path/TABLE1.ixf of ixf restart into TABLE1;從失敗點繼續,並記錄錯誤
帶日志記錄導入import from /path/TABLE1.ixf of ixf savecount 1000 messages /path/msg.txt insert into TABLE1;每 1000 行記錄一次進度

特殊場景處理

1. 自增列 (IDENTITY) 數據導入

需忽略源數據中的自增值,由目標表自動生成:

load from /path/TABLE1.ixf of ixf modified by identityignore insert into TABLE1;

2. 解除「檢查掛起」狀態

LOAD 後表可能進入 Set Integrity Pending 狀態,執行:

SET INTEGRITY FOR TABLE1 IMMEDIATE CHECKED;
-- 若仍失敗,改為跳過檢查 (需確保數據確實滿足約束)
SET INTEGRITY FOR TABLE1 IMMEDIATE UNCHECKED;

若仍報錯,必須檢查數據完整性(如外鍵、檢查約束違規),清洗數據後重新裝載。

LOAD vs IMPORT 核心差異

  • 性能: LOAD 直接寫頁面,比 IMPORT (SQL 插入) 快數量級。
  • 權限: LOAD 需 SYSADM/DBADM/LOAD 權限;IMPORT 只需 INSERT 權限。
  • 約束/觸發器: IMPORT 完全遵守;LOAD 預設跳過 (可用 FOR EXCEPTION 捕獲違規行)。
  • 可恢復性: IMPORT 全程記錄日志,可精確恢復;LOAD 非記錄模式下不可點恢復,需重做。

選型原則: 大批量初始化/重建用 LOAD;日常增量/需觸發器業務用 IMPORT。

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