db2 快速清空表数据
2013-03-21 15:48
591 查看
快速清空表数据
对于使用 DB2 数据库的用户而言,有时候需要将表中数据清空。这里提供了 4 种数据删除的方法,以供用户根据自己的需求进行选择:
使用 DELETE 语句,即:
该语句将清除表中所有数据,但由于这一操作会记日志,因此执行速度会相对慢一些。另外要注意的是,如果表较大,那么为保证删除操作的成功,应考虑是否留有足够大的日志空间。
使用 NOT LOGGED INITIALLY 选项,即:
这一方法仅在所操作的表在创建时选择了 NOT LOGGED INITIALLY 选项进行定义后才可使用。整个删除操作将不会记日志,因此执行速度是这 4 种方法中最快的一种,但删除的数据是不可恢复的。
使用 LOAD 命令,即:
在这一方法中,REPLACE 导入方式首先会将表中所有数据清空,然后 IMPORT/LOAD 又向表中导入了空数据,从而实现了数据的清除操作。
使用 DROP/CREATE TABLE 语句,即:
如果保存有表的定义语句,或已利用 DB2LOOK 命令获得了表定义的脚本,那么也可先删除整个表,再重新创建表。如果表较大,那么用这种方法实现数据清空的速度会快于使用 DELETE 语句。但是用这种方法时要注意:如果这个表上有很多外键,那么需要维护外键的完整性。
9.7新增了TRUNCATE TABLE tabname IMMEDIATE
快速删除表里所有行,不能回滚
对于使用 DB2 数据库的用户而言,有时候需要将表中数据清空。这里提供了 4 种数据删除的方法,以供用户根据自己的需求进行选择:
使用 DELETE 语句,即:
DELETE FROM < 表名 >
该语句将清除表中所有数据,但由于这一操作会记日志,因此执行速度会相对慢一些。另外要注意的是,如果表较大,那么为保证删除操作的成功,应考虑是否留有足够大的日志空间。
使用 NOT LOGGED INITIALLY 选项,即:
ALTER TABLE < 表名 > ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
这一方法仅在所操作的表在创建时选择了 NOT LOGGED INITIALLY 选项进行定义后才可使用。整个删除操作将不会记日志,因此执行速度是这 4 种方法中最快的一种,但删除的数据是不可恢复的。
使用 LOAD 命令,即:
LOAD FROM /dev/null OF DEL REPLACE INTO < 表名 > NONRECOVERABLE --(UNIX 系统或 LOAD FROM < 空文件 > OF DEL REPLACE INTO < 表名 > NONRECOVERABLE
在这一方法中,REPLACE 导入方式首先会将表中所有数据清空,然后 IMPORT/LOAD 又向表中导入了空数据,从而实现了数据的清除操作。
使用 DROP/CREATE TABLE 语句,即:
DROP TABLE < 表名 > CREATE TABLE < 表名 > < 字段的定义 >
如果保存有表的定义语句,或已利用 DB2LOOK 命令获得了表定义的脚本,那么也可先删除整个表,再重新创建表。如果表较大,那么用这种方法实现数据清空的速度会快于使用 DELETE 语句。但是用这种方法时要注意:如果这个表上有很多外键,那么需要维护外键的完整性。
9.7新增了TRUNCATE TABLE tabname IMMEDIATE
快速删除表里所有行,不能回滚
相关文章推荐
- db2 快速清空表数据
- 使用 DB2 的 LOAD FROM CURSOR 特性快速轻松地转移数据
- DB2 Magazine:快速数据访问的捷径
- db2 数据恢复-快速
- db2 快速清除表中所以的数据
- 清空 DB2 表中数据的几种方法
- datagridview控件快速清空数据且保留标题列
- 如何快速清空datagrid中的数据
- [转]清空 DB2 表中数据的几种方法
- TRUNCATE TABLE 快速清空数据表的SQL操作
- 清空 DB2 表中数据的几种方法
- 清空 DB2 表中数据的几种方法
- MySQL 最快速清空数据表数据的 SQL 语句
- Exchange 2010 快速清空一个邮箱中的数据内容!
- 快速清空表中数据
- 使用 DB2 的 LOAD FROM CURSOR 特性快速轻松地转移数据 (From IBM developerWorks )
- 执行测试Exchange 2010 快速清空一个邮箱中的数据内容!
- 快速从db2导出数据到oracle
- DB2 清空数据表
- 清空 DB2 表中数据的几种方法