国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 電腦知識 > 正文

解決運行procedure很慢但運行procedure內容很快問題

2024-05-08 16:06:37
字體:
來源:轉載
供稿:網友

問題描述:

有一次在發布系統到production環境之后,突然發現報表過了好幾分鐘也刷新不出來,小哥我直接就慌神了。迅速進行各種測試,首先右鍵報表屬性找出報表地址,看看參數是否傳對了。找出報表參數之后直接運行procedure,也跑不出來。打開procedure一段一段執行卻沒問題,執行整個procedure的內容也沒問題,但是exec procedure_nm卻始終有問題。在開發環境execute procedure,也沒問題。于是,開始糾結了。

環境:SQL SERVER 2008, SSRS 2008

解決過程:

仔細思考production環境和開發環境的不同,無非就是開發環境是新搭建的環境,production是已經存在好幾年的環境,這次只是對其報表producdure進行了改變,并打了一個補丁修改之前半年的歷史數據。后來發現這里就是引起這次事情的主要原因。通過不斷的查找問題,發現了開發環境和production里面的表統計信息(在SQL SERVER里面左側目標瀏覽器中展開表之后的最下面一個項目:Statistics)不一樣。當時只是一個猜測,大量跟新數據會引起production的統計信息過時,而SQL SERVER引擎在解析procedure的時候會根據統計信息制定一系列數據檢索計劃,就像以前從A市到B市有一條高速公路,現在這條高速公路沒用了,SQL SERVER引擎就去尋找其他笨的方法,而統計信息的自動更新只會發生在夜深人靜之時。所以便嘗試著去申請手動更新production的統計信息。統計信息更新之后,報表能夠正常打開了。

解決方法:

USE Database_nm

EXEC sp_UpdateStats

結論:

在大量更新數據之后,會使數據庫的統計信息發生變化,繼而影響SQL SERVER對SQL的解析。需要重新更新數據庫的統計信息,讓SQL SERVER參考最新的正確的信息去制定執行計劃。


注:相關教程知識閱讀請移步到電腦常識頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永福县| 泰兴市| 封开县| 双城市| 枣阳市| 讷河市| 友谊县| 阳泉市| 射洪县| 博客| 茶陵县| 措美县| 闻喜县| 景德镇市| 金坛市| 呼和浩特市| 七台河市| 厦门市| 苏州市| 秦安县| 泽库县| 宁波市| 雷山县| 托克逊县| 北碚区| 腾冲县| 博乐市| 健康| 巴中市| 黄陵县| 喜德县| 岫岩| 阳江市| 施秉县| 红原县| 阿拉善盟| 桓台县| 桓台县| 枝江市| 饶平县| 丘北县|