SQL Server 2008資料庫引擎優化

iSQlServer發表於2009-03-09
1、資料庫引擎優化顧問概述

  藉助 Microsoft SQL Server 資料庫引擎優化顧問,您不必精通資料庫結構或深諳 Microsoft SQL Server,即可選擇和建立索引、索引檢視和分割槽的最佳集合。

  資料庫引擎優化顧問分析一個或多個資料庫的工作負荷和物理實現。工作負荷是對要優化的一個或多個資料庫執行的一組 Transact-SQL 語句。在優化資料庫時,資料庫引擎優化顧問將使用跟蹤檔案、跟蹤表或 Transact-SQL 指令碼作為工作負荷輸入。可以在 SQL Server Management Studio 中使用查詢編輯器建立 Transact-SQL 指令碼工作負荷。可以通過使用 SQL Server Profiler 中的優化模板來建立跟蹤檔案和跟蹤表工作負荷。有關使用 SQL Server Profiler 建立可用作工作負荷的跟蹤的資訊,請參閱SQL Server Profiler 簡介。

  對工作負荷進行分析後,資料庫引擎優化顧問會建議您新增、刪除、或修改資料庫中的物理設計結構。此顧問還可針對應收集哪些統計資訊來備份物理設計結構提出建議。物理設計結構包括聚集索引、非聚集索引、索引檢視和分割槽。資料庫引擎優化顧問會推薦一組物理設計結構,以降低工作負荷的開銷(由查詢優化器估計)。

  資料庫引擎優化顧問的優化功能

  資料庫引擎優化顧問具備下列功能:

  • 通過使用查詢優化器分析工作負荷中的查詢,推薦資料庫的最佳索引組合。 
  • 為工作負荷中引用的資料庫推薦對齊分割槽或非對齊分割槽。 
  • 推薦工作負荷中引用的資料庫的索引檢視。 
  • 分析所建議的更改將會產生的影響,包括索引的使用,查詢在表之間的分佈,以及查詢在工作負荷中的效能。 
  • 推薦為執行一個小型的問題查詢集而對資料庫進行優化的方法。 
  • 允許通過指定磁碟空間約束等高階選項對推薦進行自定義。
  • 提供對所給工作負荷的建議執行效果的彙總報告。 
  • 考慮備選方案,即:您以假定配置的形式提供可能的設計結構方案,供資料庫引擎優化顧問進行評估。

  2、資料庫引擎優化顧問功能

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

  工作負荷分析功能得到改進

  • 處理引用瞬態表(如臨時表)的批。 
  • 不會因為它不能分析某事件而終止優化,而是將該事件記錄到優化日誌中,再繼續優化其他事件。 
  • 分析和優化引用使用者定義函式的查詢。 
  • 處理跟蹤中的所有 USE 語句,這些語句在優化多個資料庫時必不可少。 
  • 使用工作負荷中的 LoginName 列(如果跟蹤工作負荷過程中有此列),以便在執行事件的使用者的環境中正確優化該事件。 
  • 優化觸發器中的語句。

  可伸縮性增強

  • 使用工作負荷壓縮,讓資料庫引擎優化顧問既可縮短優化所需的時間,又能生成高質量的優化建議結果。 
  • 使用演算法以避免生成重複的統計資訊,從而減少優化期間發生的 I/O 數量。

  優化整合

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

  優化多個資料庫

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

  將優化開銷分攤給測試伺服器

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

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

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

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

相關文章