超時expired.The超時時間已過的 操作完成之前或在服務器未響應`exec sp_updatestats`命令的副作用是什麼?
我得到執行查詢的超時錯誤。我從谷歌和stackoverflow搜索了一些解決方案。有人建議使用exec sp_updatestats
來解決這個問題,但有人建議避免使用exec sp_updatestats
命令。
exec sp_updatestats
指令的副作用是什麼?
超時expired.The超時時間已過的 操作完成之前或在服務器未響應`exec sp_updatestats`命令的副作用是什麼?
我得到執行查詢的超時錯誤。我從谷歌和stackoverflow搜索了一些解決方案。有人建議使用exec sp_updatestats
來解決這個問題,但有人建議避免使用exec sp_updatestats
命令。
exec sp_updatestats
指令的副作用是什麼?
那麼,根據文檔,sp_updatestats當你運行它時會做某些事情。
sp_updatestats執行UPDATE STATISTICS,通過指定ALL關鍵字,對數據庫中的所有用戶定義的和內部表。 sp_updatestats顯示指示其進度的消息。更新完成後,它會報告已更新所有表的統計信息。 sp_updatestats更新已禁用非聚簇索引的統計信息,並且不更新已禁用聚簇索引的統計信息。
對於基於磁盤的表,sp_updatestats僅更新需要基於在sys.dm_db_stats_properties目錄視圖中的信息modification_counter,從而避免對沒有變化的行統計的不必要的更新更新所述統計數據。在執行sp_updatestats時,內存優化表的統計信息始終會更新。因此,不要執行以上sp_updatestats以上。
sp_updatestats可以觸發存儲過程或其他編譯代碼的重新編譯。但是,如果只有一個查詢計劃可用於引用的表及其索引,則sp_updatestats可能不會導致重新編譯。即使更新統計數據,在這些情況下也不需要重新編譯。
對於兼容性級別低於90的數據庫,執行sp_updatestats不保留針對特定統計信息的最新NORECOMPUTE設置。對於兼容性級別爲90或更高的數據庫,sp_updatestats確實會爲最新的NORECOMPUTE選項保留特定統計信息。
要解決,你不應該在你的存儲過程調用這個函數超時錯誤,你應該調查使用所發生的事情在該查詢執行計劃,什麼是瓶頸。創建缺少的索引,然後再次查看執行計劃。
該函數應該從維護計劃中偶爾調用一次,而不是從udfs的sps中調用。
你在哪裏執行你的查詢,在你的客戶端applivation?所有你需要的是配置另一個超時 – sepupic