我有一個MSSQL2005數據庫,其記錄可以追溯到2004年,當前在一個特定表中只有不到1,000,000條記錄。如果我運行的報告比較2009年的數據與2010年的數據,2008年比2009年,2009年比2009年或今年之前的任何年份的組合,然後結果在1-5秒內返回。當訪問最近的記錄時,SQL性能變慢
但是如果我運行包含2011年數據的報告,那麼報告需要大約6分鐘。
我檢查了數據,它看起來與前幾年相似,並與所有報告中使用的相同數據進行了交叉引用。
就好像數據庫已經超出了一些限制;今年的數據已經變得分散,因此難以獲取。我不是說這是事實,但可能是我所知道的。
任何人有任何建議嗎?
Shaun。
更新:
由於張貼的問題,我發現DBCC DBREINDEX table_name的這似乎已經完成了帽子戲法。
您還需要提供** WAY **關於此的更多信息。什麼是表結構?你正在運行什麼查詢?任何分區?正如馬丁所說,你還需要檢查執行計劃。 – JNK 2011-05-24 10:53:33
也是相關表格上的兩個執行計劃和索引。 – EBarr 2011-05-24 10:56:25
如果沒有表模式,存儲過程,執行計劃和其他相關信息,將無法幫助您。 – 2011-05-24 10:56:43