Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13193
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 9
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-14 21:40
文章分类

全部博文(8)

文章存档

2013年(8)

我的朋友

分类:

2013-05-14 22:23:50

在不需要一张表中的数据的时候,我需要将其清空。而做这个工作我们可以选择多种办法:

  1. 删除表中数据:delete from tablename
  2. 不记 log 删除表中数据: alter table tabname activate not logged initially;delete from tablename
  3. 修改表不记录 log 方式:alter table tabname activate not logged with empty table
  4. LOAD 的 replace 方式:load from empfile of del replace into tabname

注:文件 empfile 为空

“ 1 ”的方式可用性非常差,会消耗大量的时间和 log 空间,一般不使用。除非需要有选择的删除数据的时候。

“ 2 ”的方式可以使用,但是过于麻烦,尤其还要注意两条语句必须在同一事务中执行。

“ 3 ”的方式是一种较好的快速清空数据表的方式。

“ 4 ”的方式也是一种较好的快速清空数据表的方式,而且对于“ 3 ”来说,过程更加可控,因为 load 支持 restart 和 terminate 等故障控制选项。

所以推荐使用“ 4 ”的方式来快速的清空一张表。


........


http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0902yuancg/

阅读(360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~