2
我正在嘗試使用數據庫引擎優化顧問來調整我的數據庫。從記錄的評論(在整個週末運行後,只有40%進入分析),看起來DTA無法調整臨時表的操作。事實上是這樣嗎?SQL Server 2005數據庫引擎優化顧問會「調整」臨時表嗎?
我正在嘗試使用數據庫引擎優化顧問來調整我的數據庫。從記錄的評論(在整個週末運行後,只有40%進入分析),看起來DTA無法調整臨時表的操作。事實上是這樣嗎?SQL Server 2005數據庫引擎優化顧問會「調整」臨時表嗎?
不可以。因爲要將索引應用於臨時表,您必須將索引添加到使用臨時表的腳本。它不能僅僅作爲「一勞永逸」操作而應用於非永久性表格。
您可以做的是在您的數據庫中創建一個具有相同名稱的實數表,並從腳本中刪除臨時表並將其替換爲TRUNCATE TABLE。如果您創建此表,然後對其執行操作,則DTA會建議永久表的索引。然後編寫這些建議的索引,並將它們添加到腳本中的臨時表中。
另請注意,雖然DTA在大多數情況下的表現都不錯,但並不總是正確...
我很害怕這一點。不確定你的第二句話的含義。畢竟,我在使用臨時表的代碼中創建了索引,表示代碼是我正在使用DTA查看的代碼。是的,我不會盲目信任DTA的建議。 :-) 謝謝。 – 2011-04-25 15:28:48
@Greg Dougherty:通過用臨時表替換臨時表,DTA可能會爲該表建立索引建議。簡單地編寫這些索引定義並添加到臨時表的定義中。 – 2011-04-25 15:30:32