使用InfoSphere Optim Query Workload Tuner從不同來源捕獲SQL工

本系列的前一篇文章介紹了訪問路徑的概念,向您展示了如何在 Optim Query Tuner 中讀取訪問路徑圖,并詳細介紹了調優每個查詢的方法。

在第 3 部分中,將會介紹調優 sql 工作負載的方法。本文將了解如何使用 infosphere? optim? query workload tuner 從不同來源捕獲 sql 工作負載、收集統計數據和索引分析、比較訪問計劃,并執行計劃鎖定和??計劃管理。本文的目標是確保 ibm? db2? 優化器獲得它所需要的信息,從而制定出基于最佳性能的 db2 查詢決策,本文還提供了一些建議,以幫助 db2 優化器改進訪問,比如收集必要的統計數據和創建最佳索引。

在第 2 部分中,介紹了單個查詢調優的方法。利用 IBM InfoSphere Optim Query Workload Tuner (IOQWT) 等查詢調優工具的支持,應用程序開發人員或管理員可以分析單個查詢的訪問路徑,并收集更多統計數據,重寫查詢或更改設計,從而提高性能。

工作負載性能調優的目的是:確保應用程序滿足服務水平協議,并確保系統的最佳總擁有成本 (TCO)。本文將提供一種方法,使用 IBM InfoSphere Optim Query Workload Tuner (IOQWT) 進行工作負載調優。

工作負載調優與查詢調優

單個查詢調優關注特定查詢的性能,而工作負載調優專注于工作負載中所有查詢的性能。無論執行工作負載調優還是單個查詢調優,目標都是相同的:提高性能。與單個查詢調優相比,工作負載調優有許多優勢:

  1. 提高所有查詢的性能,可以降低 TCO 并增加滿足業務服務水平要求的機會。然而,一個應用程序可能包括成千上萬個查詢,甚至更多,為每個查詢執行單個查詢調優,這是不實際的。
  2. 要確定哪些統計數據將有利于每個查詢,以及有利于這些統計數據的后續收集,這可能需要花費大量的重復工作。作為一個 DBA,一個綜合的 RUNSTATS 建議是有益的,可以避免重復執行 RUNSTATS。
  3. 查詢調優可以識別輔助索引或更改現有索引的需求。通過隔離方式分析查詢并沒有考慮到索引更改對其他查詢的影響,并且可能導致產生太多索引,這會影響數據的維護和管理。
  4. 為單個查詢識別和收集更多統計數據,可能會導致改善一個查詢,并對其他查詢產生不平衡。“積非不能成是” 的諺語用在客戶工作負載中往往并不準確。糾正一個評估錯誤,可能會暴露未被分析的其他查詢錯誤。

工作負載調優方法

盡管單個查詢調優具有上述缺點,但它允許專注于改善最重要的查詢的性能。從整個工作負載的角度進行分析時,并不是每一個查詢都可以共享與業務相同的重視程度。

可以根據執行計數、累計耗時或 CPU 時間、平均耗時或 CPU 時間等標準,為每個查詢分配不同的權重。另一種方法可能是,捕獲一些最耗時的 SQL 進行調優,確保樣本規模足夠大,以便克服與單個查詢調優關聯的局限性。

無論使用何種標準,一般調優方法至少包含以下四個邏輯步驟:

  1. 確定要調優的樣例工作負載。
  2. 調優工作負載。
  3. 審查建議,并應用它們。
  4. 驗證和比較調優之前和調優之后的性能。

步驟 2-4 組成了一個可以迭代執行的調優周期。本文將介紹每一部分。下一節介紹使用 IOQWT 捕獲和調優工作負載的一些最佳實踐。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享