這是我的第一篇文章,所以如果你需要澄清任何東西,然後讓我知道。隨着時間的推移性能降低
我的服務器的詳細信息如下: - 的Windows 2008數據中心版
SQL 2008標準版(10.0.1600)
12GB拉姆
四核單處理器的機器
問題
我有一個運行的存儲過程,當我剛啓動SQL時,大約需要1/10秒才能運行。經過一段時間後,運行相同的查詢需要大約3秒的時間。
我原本以爲是引起問題的索引,但是如果我製作精確的副本並運行復制的版本,那麼該查詢現在只需要1/10秒,而原始的仍然需要3秒。
我現在假設它是與正在緩存的sproc的執行計劃有關,並且當sproc再次運行時,它正在搞亂執行計劃。
事情我至今
我目前有每隔15分鐘重新索引的小桌子和執行出於某種原因,時間運行在我的存儲過程的維護計劃回落到正常水平,但隨後嘗試時代突然再次回升。
創建了一個sproc副本來測試它,並且一個在1/10秒運行,而原始的仍然需要很長時間。
運行「更新統計信息」sproc以確保所有統計信息都是最新的。
Ran SQL查詢分析器查看是否對應該在表上的其他索引提出了任何建議,最終提出了一些建議,將索引和db大小增加到70gb以上,並且性能增加可以忽略不計。
其他信息需要注意
的DB是傳播防空火炮在同一例如,兩個DBS,一個包含產品信息,另一個包含客戶信息。
其中一個連接表是1.3億行。
的DB是升級從2005年至2008年
是什麼存儲的過程嗎?我們能看到一些簡短的邏輯代碼嗎? – 2010-09-27 12:51:04