db2中 truncate操作能记录日志吗?

如题!

参与12

3同行回答

tongshuaitongshuai数据库工程师北京新数科技有限公司
DB2 数据库中truncate表会记录日志,但与delete不同的是,truncate日志记录的是清空整张表数据。而delete日志记录的是删除表中符合where条件中的行。因此delete操作产生的日志比truncate的要大。显示全部

DB2 数据库中truncate表会记录日志,但与delete不同的是,truncate日志记录的是清空整张表数据。而delete日志记录的是删除表中符合where条件中的行。因此delete操作产生的日志比truncate的要大。

收起
互联网服务 · 2019-07-05
yhl71yhl71数据库架构师某公司
使用NOT LOGGED INITIALLY太危险了,知道有这个功能就可以了,还是不要使用,如果操作失败需要把整张表drop掉;显示全部

使用NOT LOGGED INITIALLY太危险了,知道有这个功能就可以了,还是不要使用,如果操作失败需要把整张表drop掉;

收起
IT咨询服务 · 2019-07-10
浏览3583
匿名用户匿名用户
在DB2中,常用的快速清空表中的数据方法有两种,分别是:第一种ALTER TABLE O_LNB_SM_USERINFO ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE;将表O_LNB_SM_USERINFO 数据删除,并且不记录日志第二种import from '空文件'of ixf messages log1.txt replace into test 通过空...显示全部

在DB2中,常用的快速清空表中的数据方法有两种,分别是:

第一种
ALTER TABLE O_LNB_SM_USERINFO ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE;
将表O_LNB_SM_USERINFO 数据删除,并且不记录日志

第二种
import from '空文件'of ixf messages log1.txt replace into test

通过空文件,替换原表中的数据

但是从V9.7开始,DB2 支持TRUNCATE,快速清空表数据

语法:

         .-TABLE-.              .-DROP STORAGE--.   
-TRUNCATE--+-------+--table-name--+---------------+----------->
                                '-REUSE STORAGE-'   

.-IGNORE DELETE TRIGGERS--------.

--+-------------------------------+---------------------------->
'-RESTRICT WHEN DELETE TRIGGERS-'

.-CONTINUE IDENTITY-.

--+-------------------+--IMMEDIATE----------------------------><

DROP STORAGE:清空数据后,立刻释放数据页

REUSE STORAGE:清空数据后,DBM管理释放数据页,需要稍等一会。

收起
银行 · 2019-07-05
浏览3538

提问者

ab4938179
数据库运维工程师上海复瞬科技有限公司

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-07-05
  • 关注会员:4 人
  • 问题浏览:5214
  • 最近回答:2019-07-10
  • X社区推广