您的位置:首页 > 数据库

db2深度压缩表,节省表空间

2016-06-03 17:19 239 查看
  -- 深度压缩技术(慎用):

  1) 查询压缩前表所占的表空间大小:

  SELECT TABSCHEMA, tabname,(DATA_OBJECT_L_SIZE)/(1024*1024) 占表空间大小

   FROM SYSIBMADM.ADMINTABINFO

   WHERE  tabname = 'NBZZ_CKMX_201503'

 

--2)启用压缩(语法:Alter table table_name compress yes)   

            

-- ALTER TABLE NBZZ_CKMX_201503 COMPRESS yes

--3)重组表生成压缩字典 (语法:Reorg table table_name resetdictionary)

   

-- REORG TABLE NBZZ_CKMX_201503 RESETDICTIONARY

 4) 执行 db2 list tablespaces show detail 后再去查询表空间使用率,否则有可能出现查询出来的 已使用的表空间 是比之前缩小了,但是可用的表空间却没有增加的情况。

 

 5)查询压缩后表所占的表空间大小:

  SELECT TABSCHEMA, tabname,(DATA_OBJECT_L_SIZE)/(1024*1024) 占表空间大小

   FROM SYSIBMADM.ADMINTABINFO

   WHERE  tabname = 'NBZZ_CKMX_201503'

   

   缺点:

   从包含压缩表的 DMS 表空间回收空间所需的过程执行起来非常繁琐,可能会影响数据库的可用性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dba 数据库 数据