论坛上经常会有很多人抱怨数据库HEAP表碎片很大,无法收缩。在2005之前可以通过创建聚集索引解决或者重建表将数据导入,等到表空间变小后再进行收缩。在2008中有一个新的语法ALTERTABLE REBUILD,使用这条语句可以重新生成表。
下面是我自己的一个表,碎片非常大,占用了大概11G的空间:
使用ALTER TABLE REBUILD之后的效果(差距巨大吧,已经变成了131M):
这样就避免了在2005中创建表然后导入再更新表一些列的操作,非常简便。
本文转自 lzf328 51CTO博客,原文链接:http://blog.51cto.com/lzf328/1110655