DM7中三种删表操作的数据表空间释放

在实际工作中,drop,delete和truncate都是我们在删除表数据时会用到语句。为了清楚的知道在DM7中的这三种操作何时会释放所占用的数据表空间,我们在这里对普通表进行了测试,具体测试过程如下:

注:本文实验环境的DM7数据库版本为:

DM Database Server x64V7.1.6.33-Build(2017.12.11-87269)ENT

1、创建测试表空间

2、查询表空间的大小

3、设置回滚页保留时间(便于测试)

4、创建测试普通表

5、查询当前表空间的大小

6、对测试表test01执行delete操作,对测试表test02执行drop操作,对test03表执行truncate操作

7、查看delete操作、drop操作、truncate操作后的测试表空间的使用情况

等待UNDO_RETENTION时间后,再次查询测试表空间的使用情况

从上面测试可知,对于truncate操作,测试表所占用的数据表空间会及时释放,而drop操作和delete操作都需要超过回滚页的保留期后,测试表所占用的数据表空间才能释放出来。

对于实验最后TEST2剩余空间和另外两者的差别,则是因为drop语句将表所占用的空间全释放掉,而delete、truncate操作会保留表和索引的空间。同样可知,DM7数据库的回滚表空间中的回滚数据是严格按照undo_retention规定的时间进行强制保留。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180330A16NLM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券