資料庫引擎優化顧問功能

iSQlServer發表於2008-12-22

資料庫引擎優化顧問提供了一些新功能。通過這些新功能,無論是初學者還是有經驗的資料庫管理員都能對資料庫進行優化,以獲得更好的查詢效能。以下各部分列出了資料庫引擎優化顧問的新功能,並進行了說明:

 工作負荷分析功能得到改進
處理引用瞬態表(如臨時表)的批。

不會因為它不能分析某事件而終止優化,而是將該事件記錄到優化日誌中,再繼續優化其他事件。

分析和優化引用使用者定義函式的查詢。

處理跟蹤中的所有 USE 語句,這些語句在優化多個資料庫時必不可少。

使用工作負荷中的 LoginName 列(如果跟蹤工作負荷過程中有此列),以便在執行事件的使用者的環境中正確優化該事件。

優化觸發器中的語句。

 可伸縮性增強
使用工作負荷壓縮,讓資料庫引擎優化顧問既可縮短優化所需的時間,又能生成高質量的優化建議結果。

使用演算法以避免生成重複的統計資訊,從而減少優化期間發生的 I/O 數量。

 優化整合
資料庫引擎優化顧問可以權衡包括篩選索引在內的各種不同型別的物理設計結構(如索引、索引檢視、分割槽)所提供的效能。不同結構可以在功能上有所重疊,以減少執行任何給定查詢時的開銷,從而可以考慮對多個設計結構進行整合配置,使資料庫引擎優化顧問能夠提供質量更高的建議。例如,如果僅考慮對一組表的聚集索引,再考慮對同一組表的水平範圍分割槽,這並不能提供這兩種物理結構配合使用時的工作情況。若要了解這兩種結構配合使用的情況,優化工具必須執行整合優化。

 優化多個資料庫
應用程式經常要訪問多個資料庫以完成工作,因此,工作負荷會頻繁引用多個資料庫中的物件。與 Microsoft SQL Server 2000 中的索引優化嚮導不同,資料庫引擎優化顧問可以同時優化多個資料庫。使用者可以指定一組要優化的資料庫,而資料庫引擎優化顧問會為所有選定資料庫提出建議。有關此功能的詳細資訊,請參閱優化多個資料庫。

 將優化開銷分攤給測試伺服器
優化較大的工作負荷會對所優化的伺服器產生很大的開銷。這是因為在優化過程中,資料庫引擎優化顧問通常需要多次呼叫查詢優化器。除了生產伺服器之外,還可以使用測試伺服器來消除此問題。

在這種情況下,您將優化一個測試伺服器。測試伺服器具備與生產伺服器相同的環境。收到優化測試伺服器而產生的資料庫設計配置建議後,可以在維護期間將該建議應用於生產伺服器。

使用測試伺服器的傳統方法,是將生產伺服器的所有資料複製到測試伺服器,再優化測試伺服器,然後針對兩臺計算機的硬體差異調整產生的建議。資料庫引擎優化顧問無需將資料複製到測試計算機,也無需兩臺計算機的硬體相同,就能利用測試伺服器,從而節省了時間和資源。資料庫引擎優化顧問只將後設資料、統計資訊和硬體引數從生產伺服器匯入測試伺服器。然後,資料庫引擎優化顧問對測試伺服器執行大容量優化操作,而您可以在正常維護時將優化結果應用於生產伺服器。有關此功能的詳細資訊,請參閱減輕生產伺服器優化負荷。

 命令提示實用工具和圖形使用者介面工具
資料庫引擎優化顧問提供以下兩種使用者介面:

dta 命令提示實用工具,可以通過編寫指令碼輕鬆組合資料庫引擎優化顧問的功能。

資料庫引擎優化顧問圖形使用者介面 (GUI) 工具,可以輕鬆檢視優化會話和結果。

 僅刪除優化
資料庫中的物理設計結構會隨時間積累,資料庫管理員需要一種刪除無用結構的方法。使用僅刪除優化選項,可以確定那些不再使用,或對給定工作負荷用處甚少的現有物理設計結構。在使用 dta 命令提示實用工具時,可以使用 –fx 引數來指定此優化選項。如果使用的是 GUI,則可以在“優化選項”選項卡中選中“僅評估現有 PDS 的使用率”,以指定此選項。

如果選擇此選項,資料庫引擎優化顧問將永不建議任何新結構。因此,此選項不能與新增索引、索引檢視或分割槽的其他選項一起使用。僅刪除優化選項也不能與儲存全部現有結構的選項一起使用。有關可用於資料庫引擎優化顧問的優化選項的詳細資訊,請參閱可用的優化選項。

 XML 支援
可以在資料庫引擎優化顧問 XML 輸入檔案中,定義可使用資料庫引擎優化顧問 GUI 以及 dta 命令提示實用工具執行的所有優化操作。XML 輸入檔案使用已釋出的資料庫引擎優化顧問 XML 架構,該架構可以在 Microsoft SQL Server 安裝目錄的以下位置中找到:

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd

您還可以從 Microsoft 網站上的資料庫引擎優化顧問架構下載該架構。

通過使用 XML 輸入檔案,您可以在優化資料庫時使用常用的 XML 工具,有經驗的資料庫管理員可以有更大的靈活性。例如,使用 XML 輸入檔案,您可以指定現有的和假設的物理設計結構(索引、索引檢視、分割槽)的配置,然後,可以按應用了此配置的情況,使用 dta 命令提示實用工具優化資料庫。這可以實現假設分析,又不會在優化前產生實施新配置的開銷。有關資料庫引擎優化顧問 XML 支援的詳細資訊,請參閱 XML 輸入檔案引用(資料庫引擎優化顧問)、使用 XML 輸入檔案進行優化和使用資料庫引擎優化顧問進行探索性分析。

 使用者指定的配置和假設分析支援
使用資料庫引擎優化顧問,使用者可以提供物理設計結構(索引、索引檢視和分割槽策略)的假設配置作為優化輸入。然後,可以按已經應用了該配置的情況,優化一個或多個資料庫。這樣一來,您就可以在發生應用這些結構產生的開銷之前,對一組特定物理設計結構組作出假設分析。資料庫引擎優化顧問 XML 架構完全支援此功能。可以在 XML 輸入檔案中指定希望處理的配置,然後使用 dta 命令提示實用工具啟動優化會話。有關此功能的詳細資訊,請參閱使用資料庫引擎優化顧問進行探索性分析。

 分析報告
優化會話完成後,資料庫引擎優化顧問將以文字格式或 XML 格式生成若干分析報告。這些報告提供的資訊包括工作負荷中發生的查詢開銷、工作負荷中事件的發生頻率以及查詢及其引用的索引之間的關係等。可以使用資料庫引擎優化顧問 GUI 檢視報告,也可以使用常用的 XML 編輯器開啟以 XML 格式生成的報告。有關資料庫引擎優化顧問生成的分析報告的詳細資訊,請參閱選擇資料庫引擎優化顧問報告。

 優化會話
在開始分析前,資料庫引擎優化顧問會提示您建立一個唯一的名稱或編號,來標識優化會話。完成工作負荷分析或停止分析後,資料庫引擎優化顧問將儲存優化會話資訊,並將其與開始優化前提供的識別符號關聯起來。您可以使用會話識別符號將現有會話重新載入資料庫引擎優化顧問 GUI,在此可以檢視優化結果和報告。使用優化會話可以輕鬆比較各個時間段的會話結果。有關使用優化會話的詳細資訊,請參閱使用會話監視器評估優化建議。

 使用 dta 實用工具時才可用的功能
使用資料庫引擎優化顧問 GUI 時,以下各部分中列出的優化選項當前不可用。

在命令提示符下或使用 XML 輸入檔案時
在命令提示符下執行 dta 實用工具時,或通過使用 -ix 命令提示符引數將 XML 輸入檔案用於該實用工具時,您可以指定:

優化日誌名稱(-e 命令提示符引數,或 TableName 元素)。

要優化的事件數(-n 命令提示符引數,或 NumberOfEvents 元素)。

由資料庫引擎優化顧問推薦的索引中的最大鍵列數(-c 命令提示符引數,或 MaxKeyColumnsInIndex 元素)。

資料庫引擎優化顧問對推薦的配置提出的最小改進(-m 命令提示符引數,或 MinPercentageImprovement 元素)。

使用 XML 輸入檔案時
除了上述功能之外,在將 XML 輸入檔案與 dta 實用工具一起使用時,還可以:

使用測試伺服器/生產伺服器方案,其中包括在測試伺服器上建立 shell 資料庫(TestServer 元素)。

在 XML 輸入檔案中指定工作負荷內聯(EventString 元素)。

忽略工作負荷中的常量(IgnoreConstantsInWorkload 元素)。

在命令提示符下
除了上述功能之外,在命令提示符下執行 dta 實用工具時,還可以:

指定靜默模式,實用工具在該模式下執行時不顯示任何反饋訊息(-q 命令提示符引數)。

優化並自動應用優化建議(-a 命令提示符引數)。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-520814/,如需轉載,請註明出處,否則將追究法律責任。

相關文章