我想知道更新統計信息是否幫助過您,您是如何知道更新它們的?您多久更新SQL Server 2000中的統計信息?
回答
exec sp_updatestats
是的,如果您發現查詢的表現不盡如人意,更新統計信息會非常有幫助。這通過檢查查詢計劃來證明,並且例如在執行表掃描或索引掃描而不是索引查找時發現。所有這些都假定你已經正確設置了你的索引。
也有UPDATE STATISTICS命令,但我個人從未使用過。
通常將統計信息更新添加到維護計劃中(如在企業管理器定義的維護計劃中)。這樣它就按計劃發生 - 每天,每週,不管。
SQL Server 2000使用統計信息做出有關查詢執行的良好決策,所以它們肯定有幫助。
這是在同一時間(DBCC DBREINDEX和DBCC INDEXDEFRAG),以重建索引是一個好主意。
更新統計下列事件後,有必要:
- 記錄插入到表
- 記錄被從表中刪除
- 記錄在你的餐桌
更新。如果你有一個大型數據庫數百萬條記錄每天都會獲得大量的寫入數據,因此您可能應該確定非高峯時間來安排索引更新。
另外,您需要考慮您的流量類型。如果表中有很多(百萬)記錄,並且有很多外鍵相關性,並且讀取的寫入比例較大,則可能需要考慮關閉自動統計重新計算(注意:此功能將在未來版本的SQL Server,但對於SQL Server 2000,您應該可以)。這告訴引擎不要重新計算每個INSERT,DELETE或UPDATE的統計信息,並使這些操作更高效。
索引不是笑事。它們是高性能數據庫的核心和靈魂。
如果重建索引,那麼這些索引的統計信息會自動重建。 如果您的時間表允許,那麼運行UPDATE STATISTICS部分維護計劃是一個好主意,就像夜間一樣頻繁(如果您的索引重建頻率低於此頻率)。
SQL Server:要確定過時的統計數據是否導致查詢執行效果不佳,請在Management Studio中打開「Query-> Display Estimated Execution Plan」(CTRL-L)並運行查詢。打開另一個窗口,粘貼相同的查詢,然後在Management Studio中打開「查詢 - >顯示ActualExecution計劃」(CTRL-M),然後重新運行查詢。如果執行計劃不同,統計數據很可能會過時。
- 1. SQL Server 2008 R2中的自動更新統計信息和FULLSCAN
- 2. 更新SQL Server中的更新統計信息中的隨機記錄表?
- 3. 何時更新SQL Server索引使用情況統計信息?
- 4. SQL Server性能和更新統計信息
- 5. SQL Server - 更新信息4104
- 6. 更新統計信息重新編譯sql server中的存儲過程
- 7. 取消並重新運行sql server中的更新統計信息
- 8. SQL表統計信息,如何確定要更新哪些統計信息?
- 9. SQL Server索引使用情況統計信息多久更新一次並觸發它?
- 10. 在Oracle中更新統計信息
- 11. SQL Server 2008的多列的統計信息
- 12. CREATE INDEX後更新統計信息?
- 13. 更新多個子節點中的統計信息
- 14. Sql Server永久更新
- 15. 截斷表和更新統計信息
- 16. 更新統計信息和表格數
- 17. T-sql中的記錄順序隨統計信息更新而更改
- 18. 更改SQL Server 2000中
- 19. 在SQL Server中查詢大數據集的統計信息?
- 20. Sybase ASE 15.0.2 - 動態更新統計信息/索引統計信息
- 21. 如何檢查統計信息是否使用T-SQL在SQL Server 2000數據庫中自動創建?
- 22. 從SQL數據庫自動更新統計信息
- 23. 從LDF更新SQL Server 2000數據庫
- 24. 「創建統計信息」在SQL Server 2005中做什麼?
- 25. Firebase統計信息
- 26. SQL Server(2012+)執行的過程統計信息
- 27. SQL Server是否支持幾何列的統計信息?
- 28. SQL Server沒有表變量的統計信息?
- 29. 如何找出SQL Server表的讀寫統計信息?
- 30. 通過ODBC的Microsoft SQL Server統計信息
來自BOL:sp_updatestats通過指定ALL關鍵字,有效地執行UPDATE STATISTICS對數據庫中的所有用戶定義和內部表。 – 2008-09-25 07:50:40