我想知道更新统计信息是否帮助过您,您是如何知道更新它们的?您多久更新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