SQL Server 数据库统计信息更新对性能优化的切身体会
2017-04-01 14:42
567 查看
年底前在开发一个SQL Server BI项目的过程中,我们测试SSIS包的时候,发现有好几天晚上取数的时间都超出了以前的
取数时间,刚开始我们以为是换了服务器,服务器硬件的性能有差异导致,后来我们仔细观察了服务器硬件资源的使用情况,发
现服务器的硬件资源不大可能是导致运行时间变长的原因。后来我们继续调查网络状况,监控速度变慢的这几天网络的监控情况,
通过对比也没有发现最近几天网络有异常而导致取数时间的变慢。
我们只是变更了数据源,将以前取数的数据库更换成了一个较新的数据库,由于数据库最近做了些结构上优化和调整,我们
重新取了一个数据库备份还原后做测试。于是我们开始考虑是否由于数据库的统计信息变化导致数据库查询的性能下降,因而导致
我们的SSIS取数时间增加了呢?下午我们首先将数据库的统计信息进行了全面的更新,更新数据库的统计信息整整花了2个小时。更
新完成后,我们就开始运行作业跑数据,第二天早上我们来看运行数据时,发现还真是统计信息没有更新造成我们的取数过程变慢
的了。在我们更新统计信息的前,取数要8个小时还跑不完,但是当我们更新完统计信息后,跑数据只需要4个小时多点就可以了。
后来我们进一步调查了统计信息没有能够及时更新的原因,因为我们对数据库的统计信息设置的是自动更新,意味着统计信息
每隔一段时间会根据数据库的实际情况刷新一次,我们取数据库的备份时,可能刚好数据库还没有来得及刷新统计信息,因为我们
数据库服务器白天比较繁忙,一般晚上才会去刷新统计信息。
真相大白,困扰了我们一个星期的难题也得以破解。
取数时间,刚开始我们以为是换了服务器,服务器硬件的性能有差异导致,后来我们仔细观察了服务器硬件资源的使用情况,发
现服务器的硬件资源不大可能是导致运行时间变长的原因。后来我们继续调查网络状况,监控速度变慢的这几天网络的监控情况,
通过对比也没有发现最近几天网络有异常而导致取数时间的变慢。
我们只是变更了数据源,将以前取数的数据库更换成了一个较新的数据库,由于数据库最近做了些结构上优化和调整,我们
重新取了一个数据库备份还原后做测试。于是我们开始考虑是否由于数据库的统计信息变化导致数据库查询的性能下降,因而导致
我们的SSIS取数时间增加了呢?下午我们首先将数据库的统计信息进行了全面的更新,更新数据库的统计信息整整花了2个小时。更
新完成后,我们就开始运行作业跑数据,第二天早上我们来看运行数据时,发现还真是统计信息没有更新造成我们的取数过程变慢
的了。在我们更新统计信息的前,取数要8个小时还跑不完,但是当我们更新完统计信息后,跑数据只需要4个小时多点就可以了。
后来我们进一步调查了统计信息没有能够及时更新的原因,因为我们对数据库的统计信息设置的是自动更新,意味着统计信息
每隔一段时间会根据数据库的实际情况刷新一次,我们取数据库的备份时,可能刚好数据库还没有来得及刷新统计信息,因为我们
数据库服务器白天比较繁忙,一般晚上才会去刷新统计信息。
真相大白,困扰了我们一个星期的难题也得以破解。
相关文章推荐
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
- 数据库性能优化、统计信息与对象统计信息概述收集、扩展统计信息、dbms_stats.get_prefs
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项 (转载)
- Trafodion性能优化之更新统计信息
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
- SQL Server 数据库表的统计信息的更新
- SQL Server 数据库表的统计信息的更新
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
- Oracle发布更新使数据库性能优化达到75%
- SQL Server索引统计信息未及时更新,导致排序混乱
- Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
- 数据库优化——删除和更新操作对性能的影响
- Sql Server 性能分析1 –查看数据库的相关信息
- SQL Server自动更新统计信息的基本算法
- [SQL Server] 统计信息创建后不再更新
- Sql server 日记 (数据库统计信息操作)
- 创建统计信息来优化查询性能
- [翻译]10步骤优化SQL Server 数据库性能(大致翻了下)