频繁执行DBCCSHRINKDATABASE的危害

频繁执行DBCCSHRINKDATABASE的危害,第1张

频繁执行DBCCSHRINKDATABASE的危害,第2张

SHRINKDATABASE收缩原理
要了解你为什么不轻易使用DBCC SHRINKDATABASE,首先要了解DBCC SHRINKDATABASE的收缩原理,不是所有数据文件都用的空。还有一些未使用的空房间,包括删除的数据,文件增长未使用的空房间和一些未使用的碎片空房间,可以通过sp _ sapceused获取。执行DBCC SHRINKDATABASE后,将文件末尾的已分配页移动到文件前面的未分配页,然后压缩;只有在执行TRUNCATEONLYA时,才会将空空间释放给操作系统。

了解DBCC SHRINKDATABASE的收缩原理。再来看几个问题:
1。DBCC收缩数据库收缩后,能清理数据库文件碎片吗?
不!Cdbshrinkdatabase只收缩空之间的空间,不处理善后。数据库文件的碎片只能更多。

2.2以后数据库速度会更快吗?DBCC心理医生数据库心理医生?
不!Cdbshrinkdatabase在收缩后不执行对索引排序的步骤,所以索引会更碎片化,执行速度应该会慢一些。

3.为什么我每隔几天整理一次索引,但是索引的碎片还是很快生成?
关于第二项,估计你在索引整理后执行了DBCC SHRINKDATABASE。

你什么时候会用DBCC SHRINKDATABASE?
只有在产生许多未使用的空操作(如表截断或表删除)后,收缩操作才是最有效的,产生的碎片更少。

总结:
DBCC SHRINKDATABASE并非不可用,但应谨慎使用,尤其不要频繁使用,因为会增加数据库碎片化的程度。dbshrinkdatabase的详细用法参见MSDN
备注:

答:TRUNCATEONLY将文件末尾所有可用的空空格回收给操作系统。但是,TRUNCATEONLY不会在文件内执行任何页面移动。指定的文件只收缩到最近分配的区域。如果使用TRUNCATEONLY指定,则忽略target_percent。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 频繁执行DBCCSHRINKDATABASE的危害

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情