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

Optim Query Tuner 實戰指南(二):SQL 查詢優化核心功能深度解析

     編輯:DB2 教學

核心功能架構總覽

Optim Query Tuner (OQT) 將調優能力模組化為兩大類:專家系統工具提供具體優化建議,診斷報告工具呈現執行細節。本文逐一解析各模組實戰用法,範例查詢基於 TPC-D 標準資料集。

Capture SQL:精準定位問題查詢

開發初期常面臨「哪條 SQL 慢?」的困境。Capture SQL 模組支援從 系統目錄、Statement Cache、SQL 預存程序、OS 檔案 等多源抽取語句,並提供豐富過濾條件(如 Package 名稱、預估 CPU 時間)快速鎖定目標。圖示範例:過濾 DSNTEST 套件中預估 CPU > 500ms 的查詢。

定義過濾條件示例 1

定義過濾條件示例 2

過濾組合可存為 View 供後續複用,大幅降低人工篩選成本。

Query Annotation:SQL 格式化與智能註釋

複雜 SQL 手工排版易錯且耗時。Query Annotation 自動完成:

  • 結構化格式化:依子句對齊縮排,邏輯一目了然
  • 語義註釋:對 Table/Column/Predicate 附加統計資訊(行數、過濾率)與預估代價
  • 互動高亮:點選 FROM 表名,SELECT/WHERE 相關行自動高亮
  • 轉換後 SQL 檢視:查看優化器重寫後的最終執行語句

Query Annotation 結果示例

高亮功能示例

Access Plan Graph (APG):可視化執行計劃分析

APG 以樹狀圖呈現 DB2 訪問計劃,節點形狀/顏色區分操作類型(掃描、連接、排序等),支援:

  • 縮放、佈局切換、節點懸浮提示、右鍵選單深入探查
  • 彈性列印:全圖、指定 Query Block、選取區域、格式化 SQL 文本
  • 雙欄資訊面板:計劃摘要 / 節點詳細資訊(資料字典、統計資訊樹狀檢視) / 計劃查詢(快速定位表掃描等特定節點)

APG 執行計劃展示

列印介面選項

節點詳細資訊面板

執行計劃查詢介面

Query Advisor:基於經驗法則的 SQL 重寫建議

輸入 SQL 後選擇 Query Advisor(自動勾選 Format & Annotation),即可獲得分級建議(高/中/低影響)。點選建議可見:

  • SQL 可疑點以波浪線標記
  • 詳細說明、理論解釋、修正範例

輸入 SQL 介面

啟動 Query Advisor

Query Advisor 分析結果總覽

建議詳細內容

Access Path Advisor:訪問路徑異常偵測

專注於 PLAN_TABLE 層面的自動化分析,識別潛在效能陷阱(如不必要的排序、缺失索引導致的表掃描),提供:

  • 分級建議與詳細解釋/範例
  • 對應 PLAN_TABLE 記錄供對照驗證

注意:該工具不直接給出 SQL 修改建議,需搭配 Visual Plan Hint 實施干預。

啟動 Access Path Advisor

Access Path Advisor 結果

訪問路徑建議詳情

Statistics Advisor:統計資訊缺口精準補齊

針對「哪些統計資訊過時?該跑什麼 RUNSTATS?」的核心痛點。在 Query Text 貼上問題查詢,選擇 Statistics Advisor,工具將:

  • 識別優化器實際使用的統計資訊項目
  • 比對系統目錄與實際資料分布差異
  • 產出精確的 RUNSTATS 指令(含欄位組合、取樣率)

啟動 Statistics Advisor

小結

本文涵蓋 OQT 單查詢調優的五大核心模組,從問題定位、計劃視覺化、SQL 重寫、路徑診斷到統計維護,構建完整閉環。下一篇將進階至應用層級的 Workload 整體調優與監控。

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