2008-08-06 86 views
6

我們正在將我們的SQL Server實例之一從2000年升級到2005年。我安裝了性能儀表板(http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en)以訪問某些高級報告。其中一個報告顯示缺少(推薦)索引。我認爲它基於查詢優化器維護的一些系統視圖。如何知道要實施哪些SQL Server 2005索引建議?

我的問題是確定何時採取索引建議的最佳方式是什麼。我知道應用所有優化器的建議是沒有意義的。我看到很多建議,基本上說要嘗試索引,並在性能提高時保留索引,如果性能下降或保持不變,請將其降低。我想知道是否有更好的方式來做出決定以及在這個問題上有哪些最佳實踐。

回答

3

首先要注意的:

當您從2000升級到2005(通過使用分離和附加),請確保您:

  1. 設置保持兼容90
  2. 重建索引
  3. 全掃描

運行UPDATE STATISTICS如果你不這樣做,你會得到suboptima升計劃。

如果表大部分是你想要的儘可能少的索引 如果表用於大量的讀取查詢,你必須確保WHERE子句被索引覆蓋。

0

您最好研究在您的數據庫上發生的最常見類型的查詢並根據該研究創建索引。

例如,如果有一張存儲網站點擊率的表格,該表格經常被寫入,但很難讀取。然後不要將表格編入索引。

如果你有一個訪問次數多於寫入次數的用戶列表,那麼我首先會在訪問最多的列(通常是主鍵)上創建一個聚集索引。然後,我會在常用的搜索列上創建一個索引,並按照子句的順序創建索引。

3

你得到的建議是正確的。一個接一個地嘗試。

當涉及到性能時,沒有任何替代品可用於測試。除非你證明它,否則你沒有做任何事情。