我在每200毫秒運行一次的SQL Server 2008 Express SP2數據庫上有一個很大的存儲過程。正常執行時間約爲50ms。我所看到的是在這個運行時間中存在很大的不一致。它會執行一段時間,比如在預期的40-60ms執行50-100次,然後看起來隨機地執行相同的存儲過程將花費更長的時間,比如說運行900ms或1.5秒。有時連續調用同一過程的時間也會更長。SQL Server Express 2008存儲過程執行時間週期性高峯
似乎有什麼東西導致sql server每分鐘大幅度減速,但我無法弄清楚什麼。發生之間沒有時間模式。
我在兩臺不同的計算機上有相同的設置,其中一臺是乾淨的XP專業版加載,沒有病毒檢查,沒有安裝除SQL服務器。
此外,所有數據庫的恢復選項均設置爲「簡單」。
SP做了什麼?大量的讀取或寫入或兩者? – spender 2010-05-13 00:20:28
,這是唯一擊中服務器?如果SP正在將行插入表中,而另一組查詢正在運行以讀取該表,則可能因爲其他進程而正在運行鎖爭用。如果這是在執行大量的插入操作,則可能還會遇到一些排序頁面的過程。 – 2010-05-13 00:26:30
建議您啓動SQL 2008的Data Collector:http://msdn.microsoft.com/en-us/library/bb677248.aspx – 2010-05-13 00:31:54