DB2删除数据时的小技巧

数据库
当用DELETE TABLE命令删除整个表中数据时,该操作会逐条删除表中记录,并记入活动的交易日志。下面就教您一个不用逐条扫描记录的删除方法,供您参考。

DB2删除数据是我们最常用的操作之一,下面就教您一个DB2删除数据时的小技巧,如果您对DB2删除数据方面感兴趣的话,不妨一看。

Delete

当用DELETE TABLE命令删除整个表中数据时,该操作会逐条删除表中记录,并记入活动的交易日志。当表中数据量很大时,如果活动的交易日志不够大,就会遇到交易日志已满的错误,并回滚日志。

即使活动的交易日志足够大,删除数据量很大的表的操作也会占用很多时间。用以空文件为数据文件导入(IMPORT)并替换(REPLACE)表的办法可以解决这个问题。例如

IMPORT FROM /dev/null OF DEL REPLACE INTO 目标表名

这样交易日志只会记录下该条命令,并立即释放所占的空间,而不会像删除命令一样逐条扫描记录,这就类似于DROP掉该表再创建一个完全相同只是没有数据的表一样。

对于属于DMS表空间的表来说,删除命令逐条扫描记录,所占的记录空间仍标记为该表所用,而不立即释放空间,需要用REORG命令才可以释放剩余空间。用 LIST TABLESPACE SHOW DETAIL 可以对比两条命令执行后表空间中的剩余空间的大小。

用LOAD命令加REPLACE参数可以达到类似IMPORT命令加REPLACE的效果,但是由于LOAD本身不记日志,所以对于可恢复的数据库,LOAD完成后建议马上做一下联机备份的,相比之下,IMPORT命令加REPLACE操作上比较简单一些。

 

 

【编辑推荐】

DB2事件监控的命令

DB2 SQL脚本批量执行的实现过程

DB2在线导出的方法

db2存储过程常用语句

DB2 CREATE SERVER语句的用法

责任编辑:段燃 来源: 互联网
相关推荐

2011-05-13 09:59:14

DB2数据库备份

2011-03-02 17:56:40

DB2数据库

2010-09-30 09:42:22

DB2删除数据

2011-03-16 16:03:00

DB2数据库

2010-11-03 15:49:32

DB2删除表

2010-11-03 13:50:49

DB2删除重复数据

2015-10-23 16:40:21

DB2删除数据

2010-09-07 13:39:22

DB2数据库

2010-08-02 14:34:53

DB2数据移动

2010-08-02 10:06:43

DB2数据移动

2009-12-16 10:48:42

DB2数据库

2010-08-17 13:25:39

DB2恢复删除表

2010-11-03 11:49:15

删除DB2数据

2010-08-19 14:31:46

DB2数据库

2010-08-27 10:20:11

DB2数据库优化

2010-07-28 11:13:04

DB2 Resotre

2009-02-26 09:34:16

性能优化DB2数据库

2011-03-15 14:13:56

JDBCDB2数据库

2009-06-04 17:53:24

DB2数据库单个会话锁定LOCKTIMEOUT

2011-05-27 15:51:44

DB2
点赞
收藏

51CTO技术栈公众号