SQL Server 数据库统计信息更新对性能优化的切身体会

          年底前在开发一个SQL Server BI项目的过程中,我们测试SSIS包的时候,发现有好几天晚上取数的时间都超出了以前的

取数时间,刚开始我们以为是换了服务器,服务器硬件的性能有差异导致,后来我们仔细观察了服务器硬件资源的使用情况,发

现服务器的硬件资源不大可能是导致运行时间变长的原因。后来我们继续调查网络状况,监控速度变慢的这几天网络的监控情况,

通过对比也没有发现最近几天网络有异常而导致取数时间的变慢。

          我们只是变更了数据源,将以前取数的数据库更换成了一个较新的数据库,由于数据库最近做了些结构上优化和调整,我们

重新取了一个数据库备份还原后做测试。于是我们开始考虑是否由于数据库的统计信息变化导致数据库查询的性能下降,因而导致

我们的SSIS取数时间增加了呢?下午我们首先将数据库的统计信息进行了全面的更新,更新数据库的统计信息整整花了2个小时。更

新完成后,我们就开始运行作业跑数据,第二天早上我们来看运行数据时,发现还真是统计信息没有更新造成我们的取数过程变慢

的了。在我们更新统计信息的前,取数要8个小时还跑不完,但是当我们更新完统计信息后,跑数据只需要4个小时多点就可以了。

          后来我们进一步调查了统计信息没有能够及时更新的原因,因为我们对数据库的统计信息设置的是自动更新,意味着统计信息

每隔一段时间会根据数据库的实际情况刷新一次,我们取数据库的备份时,可能刚好数据库还没有来得及刷新统计信息,因为我们

数据库服务器白天比较繁忙,一般晚上才会去刷新统计信息。

           真相大白,困扰了我们一个星期的难题也得以破解。

 


              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值