论坛上经常会有很多人抱怨数据库HEAP表碎片很大,无法收缩。在2005之前可以通过创建聚集索引解决或者重建表将数据导入,等到表空间变小后再进行收缩。在2008中有一个新的语法ALTERTABLE REBUILD,使用这条语句可以重新生成表。
下面是我自己的一个表,碎片非常大,占用了大概11G的空间:
使用ALTER TABLE REBUILD之后的效果(差距巨大吧,已经变成了131M):
这样就避免了在2005中创建表然后导入再更新表一些列的操作,非常简便。
论坛上经常会有很多人抱怨数据库HEAP表碎片很大,无法收缩。在2005之前可以通过创建聚集索引解决或者重建表将数据导入,等到表空间变小后再进行收缩。在2008中有一个新的语法ALTERTABLE REBUILD,使用这条语句可以重新生成表。
下面是我自己的一个表,碎片非常大,占用了大概11G的空间:
使用ALTER TABLE REBUILD之后的效果(差距巨大吧,已经变成了131M):
这样就避免了在2005中创建表然后导入再更新表一些列的操作,非常简便。
mysql造数据占用临时表空间
本文用10046事件来解析alter index rebuild与alter index rebuild
一、参考资料https://www.jb51.net/article/221362.htmmysql给表增加字段会锁表,怎样才可以不锁表吗? - 知乎
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M