數據庫是SQL 2008R2企業版。sql服務器索引重建減慢第一個查詢
我有一個SSIS集成,每晚在表格中截斷並加載約1500萬行。發生這種情況後,我有一個執行SQL任務,該任務重建表b/c上的索引,它在trunc和load之後嚴重碎片化。
我遇到的問題是第一次使用該表作爲數據源的報告。第一次執行需要一段時間。然而,在第一次執行之後,報告按照預期快速增長,直到第二天晚上再次發生截斷和加載和索引重建。
我能做什麼的任何建議可以修復該表上的第一個查詢的性能?
數據庫是SQL 2008R2企業版。sql服務器索引重建減慢第一個查詢
我有一個SSIS集成,每晚在表格中截斷並加載約1500萬行。發生這種情況後,我有一個執行SQL任務,該任務重建表b/c上的索引,它在trunc和load之後嚴重碎片化。
我遇到的問題是第一次使用該表作爲數據源的報告。第一次執行需要一段時間。然而,在第一次執行之後,報告按照預期快速增長,直到第二天晚上再次發生截斷和加載和索引重建。
我能做什麼的任何建議可以修復該表上的第一個查詢的性能?
你可以嘗試運行版本的報告後立即索引重建這不僅說TOP 1
選擇任何數據集,建立必要的緩存和執行計劃,這將「啓動」緩存並使設置最優化,而無需整個運行報告。
非常聰明的工作,謝謝。如果上面avitus推薦的統計信息不起作用,我會給這個鏡頭。 – user1134307
看起來像這將是我的解決方案,它絕對有效,並且是一個光滑的工作。感謝您的幫助 – user1134307
不錯,很高興它幫助你! :) –
後重建索引嘗試更新的統計信息,以解決您的性能問題:(?存儲過程)
EXEC sp_updatestats
有趣,我會給這個鏡頭,看看它是否適合我。 – user1134307
我更新了數據源中使用的表的統計信息,但這並沒有解決所描述的第一個執行問題。我是否正確更新表格的統計信息? – user1134307
您說報告,這是您所指的SSRS報告嗎? – billinkc
是的,這是一份ssrs報告。但我猜這部分可能不重要b/c存儲過程是數據源執行相同的報告或直接在ssms中運行。 – user1134307
因此,在重建後立即執行存儲的proc會遇到同樣的性能,無論它是來自SSRS還是SSMS/sqlcmd/etc?我最初的理論是SSRS由於20分鐘的保持循環而循環下來。 – billinkc