位置: 编程技术 - 正文
误区 #9: 数据库文件收缩不会影响性能
错误!
收缩数据库文件唯一不影响性能的情况是文件末尾有剩余空间的情况下,收缩文件指定了TruncateOnly选项。
收缩文件的过程非常影响性能,这个过程需要移动大量数据从而造成大量IO,这个过程会被记录到日志从而造成日志暴涨,相应的,还会占去大量的CPU资源。
不仅在收缩的过程中影响性能,并且在文件收缩之后同样影响应能,收缩产生的大量日志会被事务日志传送,镜像,复制能操作重复执行。而空间不够时,文件还需要填0初始化从而影响性能(除非你开启的不用填零初始化的选项)。
这还不算最糟,最糟的结果是文件收缩造成了大量的索引碎片,对于scan操作来说这个碎片影响性能。
不幸的是,收缩数据库的代码不是我写的(如果要是我写的话,我一开始就不会允许这种机制的)所以我们唯一能做的就是接受这种操作。
如果你想找到替代数据库文件收缩的方式,请看这篇博文:Why you should not shrink your data files,或者是一开始你就对文件做好规划:Importance of data file size management。还有这篇:TGIF Time Warp.
孩子,记住这一点:
数据文件收缩是邪恶的 收缩数据库更加邪恶 自动收缩那简直就是十恶不赦了简单的对收缩说NO就可以让我们永远远离其造成的烦恼。
推荐整理分享SQL Server误区30日谈 第9天 数据库文件收缩不会影响性能(sql server 3417错误),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sql server 1222解决,sql server常规错误,sql server错误和使用情况报告,sql server错误和使用情况报告,sql server 错误,sql语句错误提示,sql语句错误提示,sql server 错误,内容如对您有帮助,希望把文章链接给更多的朋友!
SQL Server误区日谈 第天 数据库镜像在故障发生后 马上就能发现 误区.数据库镜像在故障发生后,马上就能发现错误市面上大肆宣传数据库镜像技术可以在故障发生后,立即检测到错误并进行故障转移。但事实并不
SQL Server误区日谈 第天 镜像在检测到故障后瞬间就能故障转移 误区#:镜像在检测到故障后瞬间就能故障转移错误数据库镜像的故障转移既可以自动发起,也可以手动发起。在自动发起的情况下,是由镜像服务器执
SQL Server误区日谈 第天 TempDB的文件数和需要和CPU数目保持一致 误区#:TempDB的文件数和需要和CPU数目保持一致错误哎,由于上述误区是微软官方的建议,并且还有大量博文坚持这个观点,这个误区已经是老生常谈。
上一篇:SQL Server误区30日谈 第8天 有关对索引进行在线操作的误区(sqlserver1053怎么解决)
下一篇:SQL Server误区30日谈 第10天 数据库镜像在故障发生后 马上就能发现(sql server错误和使用情况报告)
友情链接: 武汉网站建设