IMPORT 工具執行時會驗證所有約束、記錄日誌、觸發 Trigger,大量資料導入效能遠低於 LOAD。但某些環境 (如需觸發器、RI 驗證) 必須用 IMPORT,此時可透過以下兩種方式大幅提升效能。
對 db2uimpm 套件重新綁定並啟用 INSERT BUF 選項,使匯入過程使用緩衝區批次插入。
DB2 CONNECT TO SAMPLE
DB2 BIND DB2UIMPM.BND INSERT BUF
DB2 IMPORT FROM MYFILE OF DEL INSERT INTO MYTABLE
DB2UIMPM.BND 位於 sqllib/bnd/ 目錄。在 IMPORT 命令中加入 MODIFIED BY COMPOUND=n,將 n 筆 INSERT 合併為一個批次送往伺服器,減少網路往返。
DB2 CONNECT TO SAMPLE
DB2 IMPORT FROM MYFILE OF DEL MODIFIED BY COMPOUND=100 INSERT INTO MYTABLE
COMPOUND 範圍:1 ~ 100,建議設為 100 (最大批次)。| 方法 | 生效範圍 | 適用場景 | 建議 |
|---|---|---|---|
| INSERT BUF (BIND) | 資料庫層級,永久 | 固定使用 IMPORT 的環境 | 一次設定,長期受益 |
| COMPOUND (命令參數) | 單次命令層級 | 臨時需求、不同批次大小 | 配合 INSERT BUF 使用,效果疊加 |