巡检DB2的时候,在db2log中发现有如下:
MESSAGE : ADM5530W The COMMIT
processing of table "TEST" that used NOT LOGGED INITIALLY has been
initiated. It is recommended that you take a backup of this table's
table space(s).
DB2 中的表的not logged initially 特性,可以避免在对表进行增删改等操作的时候产生日志,该参数主要可用于大量导入、迁移场景中,可以避免大量的空间消耗和I/O性能损耗。
需要将表设置为NOG LOGGED INITIALLY方式:
ALTER TABLE
ACTIVATE NOT LOGGED INITIALLY;
操作建议:
1.commit ---提交之前的事务
2.ALTER TABLE ACTIVATE NOT LOGGED INITIALLY;
3.增删改
4.commit ---提交后会取消该参数的设置
5.建议对刚才相关操作的表进行备份,因为没有记录事务日志。
那么,我们对该功能进行一下知识拓展,同样的思路在其他品牌的数据库中是否也有相应的实现方案呢?答案是肯定的!
在Oracle中,操作如下:
alter table text nologging
在PostgreSQL中,操作如下:
alter table test set unlogged;
阅读(7035) | 评论(0) | 转发(0) |