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

DB2 XML 與 LOB 設計最佳實踐:效能與架構考量

     編輯:DB2 教學

前言

DB2 支援將 XML 文件與非結構化大型物件 (LOB) 與交易資料共同儲存,極大增強應用程式靈活度。但 XML 與 LOB 引入額外效能考量,設計與調校時必須納入下列關鍵因素。

LOB 參考方式:效能關鍵

LOB 在 DB2 或使用者位址空間中出現的方式,由設計與參考方法決定。使用 LOB 檔案參考變數 (File Reference Variable) 效能最佳,可避免 LOB 在 DBM1 位址空間與應用程式中實體化,同時繞過應用程式記憶體容量與配置限制。

LOB 日誌記錄策略

LOB 體積龐大,日誌記錄會嚴重衝擊現用與封存日誌效能。DB2 9 允許記錄超過 1GB 的 LOB,但越大影響越大。建議:

  • 情況允許時,將 LOB 表空間定義為 NOT LOGGED 以避免大量日誌產生
  • 載入 LOB 資料時,若工具支援,關閉日誌記錄

LOB 大小與漸進式資料流優化

DB2 9 與 JDBC Universal Driver Type 4 (JCC T4) 引入 漸進式資料流,依 LOB 大小差異化處理:

LOB 大小範圍傳輸機制優化重點
小型 (< 32KB)查詢區塊 (Query Block) 傳輸,視同長 VARCHAR極佳效能
中型 (32KB ~ 1MB)非 LOB 資料走查詢區塊,LOB 走外部溢位資料區塊客戶端取得查詢資料,伺服器端處理 LOB
大型 (> 1MB)查詢區塊回傳 LOB 定位器 (Locator)避免 LOB 在應用程式流程中實體化,效能最佳

可透過 MEDDTASZ DRDA 參數與 JCC T4 屬性 progressiveStreaming、streamBufferSize 微調。啟用 progressiveStreaming 會忽略 fullyMaterializeLobData 設定。

結語

管理 LOB 無單一最佳通則,但妥善處理 LOB 資料類型能提升系統、資料庫與應用程式整體效能。

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