Posted on 2010-05-15 23:54
Prayer 閱讀(411)
評論(0) 編輯 收藏 引用 所屬分類:
DB2
獲得關于設計索引以及數據分區鍵、物化查詢表、IBM® DB2® Universal Database™(DB2 UDB)多維聚類的專家幫助。Design Advisor 是 DB2 UDB 內置的,它能提供您所需的幫助。下面介紹了如何將它用于 OLTP 數據庫。
簡介
DB2 UDB V8.2 引入了一種名為 Design Advisor 的新工具,該工具使用范圍更廣,可用來替代 Index Advisor。除了索引外,Design Advisor 還提供關于物化查詢表(MQT)、多維集群表(MDC)和數據分區功能(Data Partitioning Feature,DPF)分區鍵的建議。 即使對于那些只對索引感興趣的 DBA,Design Advisor 也好于先前版本的 Index Advisor。本文是由兩部分組成的一個系列的第 1 部分,旨在探索 Design Advisor 在在線事務處理(online transaction processing,OLTP)數據庫方面的使用,主要關注的是如何設計適當的索引,以取得較高的性能。
通過介紹一些特定的例子、考察一些陷阱和常見問題,并突出強調 V8.2 的增強,我們將演示該工具的效用。第 2 部分將介紹關于 MQT、MDC 和 DPF 分區鍵的更多細節,重點分析數據倉庫環境。
Design Advisor 的價值
Design Advisor 所提供的建議能與數據庫調優專家的建議相媲美。對于非專家來說,該工具的好處是可以獲得更好的設計。對于專家來說,Design Advisor 可以節省他們寶貴的時間,因為 Design Advisor 可以提供一個初始的設計,然后由專家進一步改進設計。Design Advisor 還可以提供對專家的設計的獨立確認。
Design Advisor 可以使性能提高多少百分比呢?這取決于初始設計的質量。然而,提高的幅度是很明顯的。題為 DB2 UDB: The Autonomic Computing Advantage 的 DB2 Magazine 電子書中包含一個完整的案例研究,該研究顯示,性能提升了 84%;也就是說,設計經過改進之后,對于相同的工作負載,現在的運行時間是原來的 15%。
Design Advisor 何時有幫助
在很多情況下,DBA 都希望使用 Design Advisor。其中兩種重要的情況是,在生產之前使用 Design Advisor,以及在將一個系統投入生產之后使用它。關于在生產之前何時使用 Design Advisor 的例子包括:
- 在應用程序開發的初始階段創建一組新的索引。
- 在應用程序系統測試期間改善性能不佳的查詢。
還可以將 Design Advisor 用于生產系統,根據以下情況更改索引:
- 實際生產情況與開發期間的估計有差別。例如,某一列被訪問的頻率超過預期;某個表遠遠大于預期;某些查詢比預期執行得更頻繁。
- 在系統的運行生命周期中模式設計發生了改變。應用程序在其運行生命周期中常常會得到調整,例如為生成報告而添加一個新的列或新的查詢。
- 數據庫老化。隨著數據庫的老化,性能將逐漸下降,因為表會越來越大,使用模式也發生了變化,并且工作量也有所增加。
Design Advisor 經常與其他 DB2 特性一起使用。例如:
- Health Monitor。您可以設置 Health Monitor,使之在出現排序溢出之類的情況時發出警報。然后采用 Design Advisor 來幫助發現有助于緩解這種性能下降的索引。
- Visual Explain。您可能正在使用 Visual Explain 或相關特性來檢查查詢訪問計劃。您也許注意到被掃描的表過多。那么這時可以使用 Design Advisor,看看索引是否能導致不需要掃描那么多表的訪問計劃。
Design Advisor 概述以及 V8.2 中的新特性
您可以將 Design Advisor 作為一種 GUI 工具,或者通過命令行來使用它。在 V8.2 中,您可以從一個新的地方來訪問這個 GUI。在 Control Center 中,可以右擊您想要處理的數據庫。在彈出的菜單中,選擇 Design Advisor...。
命令行命令仍然是: db2advis。是使用 GUI 還是使用命令行?這基本上取決于個人偏好。兩者在功能上差別很小。
確定需要使用 Design Advisor 之后,請遵循下面列出的步驟來使用該工具。對于每一步,我們列出了 V8.2 中適用于 OLTP 數據庫(其中最相關的就是索引)的一些關鍵的增強。
表 1. V8.2 中的新特性
步驟 |
V8.2 中的新特性 |
1. 收集和描述提供給 Design Advisor 的工作負載 |
該工具支持其他提供工作負載的方法:(1) 在 GUI 中從一個文件裝載工作負載,或者 (2) 從 Event Monitor 獲得工作負載 |
2. 決定何時以及如何運行該工具 |
由于采用了新的工作負載壓縮技術,所以運行該工具時所需的資源更少 |
3. 回顧建議 |
(1) Design Advisor 現在考慮更大范圍的索引類型,包括:雙向索引和帶 INCLUDE 列的 UNIQUE 索引。(2) 有更多關于建議的詳細信息:例如,與各條 SQL 語句相關的改進 |
4. 后續步驟 |
您可以生成關于建議的一個報告,并將其保存到一個文件中 |