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

DB2 IMPORT 命令效能優化兩大實戰技巧

     編輯:DB2 教學

為何 IMPORT 效能遜於 LOAD?

IMPORT 在載入資料時會驗證所有約束條件、記錄完整日誌、觸發 Trigger,導致大量資料匯入時效能明顯低於可繞過約束、最小化日誌的 LOAD 工具。但在必須使用 IMPORT 的場景(如需觸發器邏輯、約束驗證),可透過以下兩種方式大幅提升效能,尤其對分區資料庫效果顯著。

技巧一:啟用緩衝區插入 (INSERT BUF)

對 db2uimpm 套件重新 BIND 並加入 INSERT BUF 選項,用插入緩衝區,批次寫入減少網路往返。

db2 connect to sample
db2 bind db2uimpm.bnd insert buf
db2 import from myfile of del insert into mytable

技巧二:使用 COMPOUND 選項批次提交

在 MODIFIED BY 子句指定 COMPOUND=n(1~100),將 n 筆 INSERT 合併為一個複合語句發送,大幅減少網路通訊開銷。

db2 connect to sample
db2 import from myfile of del modified by compound=100 insert into mytable

適用場景與建議

  • 分區資料庫大量匯入:兩技巧可疊加使用,效果最佳。
  • 非分區環境:COMPOUND 通常收益更明顯;INSERT BUF 需測試確認效果。
  • 注意:COMPOUND 過大可能增加鎖持有時間,建議從 50~100 起測。

核心原理:皆針對「網路往返次數」與「日誌寫入頻率」這兩大瓶頸進行批次化優化。

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