2011-02-25 70 views
1

我們使用優化顧問對數據庫建立索引。假設我們有兩個查詢從一個表中獲取兩組不同的數據。由數據庫引擎優化顧問索引

當我們分析我們得到了兩種類型的建議,如

1. Index three columns c1,c2 and c3 in the table, here c1 is primary key. 
2. Index three columns c2,c3 and c4 in the table. 

在這種情況下,我們如何進行這兩個查詢。我們是否需要創建兩個索引?請給出你的建議。

回答

2

您可以使用相同的數據庫引擎優化會話同時分析兩個查詢,並且您應該獲得一個或多個彼此兼容的索引建議。數據庫優化顧問的建議是在一段時間內針對您的應用程序運行一個分析器,例如5-10分鐘,具體取決於查詢的負載和數量。然後在調整顧問中一起運行整個結果以獲取建議列表。

希望這會有所幫助!

編輯

請參閱此鏈接瞭解更多信息:http://www.mssqltips.com/tip.asp?tip=1872

+0

@mellamokb:事實上,我們將查詢分析爲單獨的工作負荷文件。爲此,我們從存儲過程中取出查詢部分,然後用表中適當的值替換變量值。這是一個正確的方式嗎? – 2011-02-25 05:52:24

+0

@mahesh:沒關係。我唯一的觀點是你想要在一個工作負載中分析所有的查詢,而不是一次一個查詢。這樣,這些建議將適用於整個工作量。如果您通過查詢分析查詢,則您可能會看到重疊的索引建議,並且實際上這兩者都不是最好的。 – mellamokb 2011-02-25 05:54:03

+0

@mellamokb:那麼我可以將所有腳本複製到一個.sql文件並分析它? – 2011-02-25 05:57:00