索引的優點和缺點 3

索引調整嚮導
索引調整嚮導是一種工具,可以分析一系列數據庫的查詢語句,提供使用一系列數據庫索引的建議,優化整個查詢語句的性能。對於查詢語句,需要指定下列內容:
查詢語句,這是將要優化的工作量
包含了這些表的數據庫,在這些表中,可以創建索引,提高查詢性能
在分析中使用的表
在分析中,考慮的約束條件,例如索引可以使用的最大磁盤空間
這 裏指的工作量,可以來自兩個方面:使用SQL Server捕捉的軌跡和包含了SQL語句的文件。索引調整嚮導總是基於一個已經定義好的工作量。如果一個工作量不能反映正常的操作,那麼它建議使用的索 引不是實際的工作量上性能最好的索引。索引調整嚮導調用查詢分析器,使用所有可能的組合評定在這個工作量中每一個查詢語句的性能。然後,建議在整個工作量 上可以提高整個查詢語句的性能的索引。如果沒有供索引調整嚮導來分析的工作量,那麼可以使用圖解器立即創建它。一旦決定跟蹤一條正常數據庫活動的描述樣 本,嚮導能夠分析這種工作量和推薦能夠提高數據庫工作性能的索引配置。
索引調整嚮導對工作量進行分析之後,可以查看到一系列的報告,還可以使該向導立即創建所建議的最佳索引,或者使這項工作成爲一種可以調度的作業,或者生成一個包含創建這些索引的SQL語句的文件。
索引調整嚮導允許爲SQL Server數據庫選擇和創建一種理想的索引組合和統計,而不要求對數據庫結構、工作量或者SQL Server內部達到專家的理解程度。總之,索引調整嚮導能夠作到以下幾個方面的工作:
通過使用查詢優化器來分析工作量中的查詢任務,向有大量工作量的數據庫推薦一種最佳的索引混合方式
分析按照建議作出改變之後的效果,包括索引的用法、表間查詢的分佈和大量工作中查詢的工作效果
爲少量查詢任務推薦調整數據庫的方法
通過設定高級選項如磁盤空間約束、最大的查詢語句數量和每個索引的最多列的數量等,允許定製推薦方式
圖解器
圖 解器能夠實時抓取在服務器中運行的連續圖片,可以選取希望監測的項目和事件,包括Transact-SQL語句和批命令、對象的用法、鎖定、安全事件和 錯誤。圖解器能夠過濾這些事件,僅僅顯示用戶關心的問題。可以使用同一臺服務器或者其他服務器重複已經記錄的跟蹤事件,重新執行那些已經作了記錄的命令。 通過集中處理這些事件,就能夠很容易監測和調試SQL Server中出現的問題。通過對特定事件的研究,監測和調試SQL Server問題變得簡單多了。
查詢處理器
查詢處理器是一種可以完成許多工作的多用途的工具。在查詢處理器中,可以交互式地輸入和 執行各種Transact-SQL語句,並且在一個窗口中可以同時 查看Transact-SQL語句和其結果集;可以在查詢處理器中同時執行多個Transact-SQL語句,也可以執行腳本文件中的部分語句;提供了一 種圖形化分析查詢語句執行規劃的方法,可以報告由查詢處理器選擇的數據檢索方法,並且可以根據查詢規劃調整查詢語句的執行,提出執行可以提高性能的優化索 引建議,這種建議只是針對一條查詢語句的索引建議,只能提高這一條查詢語句的查詢性能。
系統爲每一個索引創建一個分佈頁,統計信息就是指存儲 在分佈頁上的某一個表中的一個或者多個索引的關鍵值的分佈信息。當執行查詢語句時,爲了提高查詢速度 和性能,系統可以使用這些分佈信息來確定使用表的哪一個索引。查詢處理器就是依賴於這些分佈的統計信息,來生成查詢語句的執行規劃。執行規劃的優化程度依 賴於這些分佈統計信息的準確步驟的高低程度。如果這些分佈的統計信息與索引的物理信息非常一致,那麼查詢處理器可以生成優化程度很高的執行規劃。相反,如 果這些統計信息與索引的實際存儲的信息相差比較大,那麼查詢處理器生成的執行規劃的優化程度則比較低。
查詢處理器從統計信息中提取索引關鍵字 的分佈信息,除了用戶可以手工執行UPDATE STATISTICS之外,查詢處理器還可以自動收集統計這些分佈信息。這樣,就能夠充分保證查詢處理器使用最新的統計信息,保證執行規劃具有很高的優化 程度,減少了維護的需要。當然,使用查詢處理器生成的執行規劃,也有一些限制。例如,使用執行規劃只能提高單個查詢語句的性能,但是可能對整個系統的性能 產生正面的或者付面的影響,因此,要想提高整個系統的查詢性能,應該使用索引調整嚮導這樣的工具。
結論
在以前的SQL Server版本中,在一個查詢語句中,一個表上最多使用一個索引。而在SQL Server 7.0中,索引操作得到了增強。SQL Server現在使用索引插入和索引聯合算法來實現在一個查詢語句中的可以使用多個索引。共享的行標識符用於連接同一個表上的兩個索引。如果某個表中有一 個聚簇索引,因此有一個聚簇鍵,那麼該表上的全部非聚簇索引的葉節點使用該聚簇鍵作爲行定位器,而不是使用物理記錄標識符。如果表中沒有聚簇索引,那麼非 聚簇索引繼續使用物理記錄標識符指向數據頁。在上面的兩種情況中,行定位器是非常穩定的。當聚簇索引的葉節點分開時,由於行定位器是有效的,所以非聚簇索 引不需要被修改。如果表中沒有聚簇索引,那麼頁的分開就不會發生。而在以前的版本中,非聚簇索引使用物理記錄標識符如頁號和行號,作爲行的定位器。例如, 如果聚簇索引(數據頁)發生分解時,許多記錄行被移動到了一個新的數據頁,因此有了多個新的物理記錄標識符。那麼,所有的非聚簇索引都必須使用這些新的物 理記錄標識符進行修改,這樣就需要耗費大量的時間和資源。
索引調整嚮導無論對熟練用戶還是新用戶,都是一個很好的工具。熟練用戶可以使用該向導創建一個基本的索引配置,然後在基本的索引配置上面進行調整和定製。新用戶可以使用該向導快速地創建優化的索引。

<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章