IT培训教育db2 10.1

去J行面试的时候,问了这么一个类似的问题

alter table mytable activate not logged initially;insert into mytable values (1);insert into mytable values (2);delete mytable where id=3;显示全部
alter table mytable activate not logged initially;
insert into mytable values (1);
insert into mytable values (2);
delete mytable where id=3;收起
参与20

查看其它 13 个回答masaly的回答

masalymasaly其它易诚
alter table mytable activate not logged initially;
insert into mytable values (1);
insert into mytable values (2);
delete mytable where id=3;

如果是自动提交,即上面这4条SQL不属于同一个事务,insert/delete语句都会记录日志,alter table不记录日志的目的不会实现。

要实现不记录日志,如下:

db2 +c "alter table mytable activate not logged initially"
db2 +c "insert into mytable values (1)"
db2 +c "insert into mytable values (2)"
db2 +c "delete mytable where id=3"
db2 commit

可以通过get snapshot查看日志的使用量。

另外,alter table本身这条语句是会记录日志的,同样可以通过get snapshot观察这条语句的日志量。


很多问题都可以自己做测试验证的。
软件开发 · 2015-09-08
浏览1857

回答者

masaly 最近回答过的问题

回答状态

  • 发布时间:2015-09-08
  • 关注会员:1 人
  • 回答浏览:1857
  • X社区推广