Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1890573
  • 博文数量: 389
  • 博客积分: 7877
  • 博客等级: 少将
  • 技术积分: 4521
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-10 14:02
文章分类

全部博文(389)

文章存档

2024年(1)

2022年(1)

2021年(1)

2020年(1)

2019年(1)

2018年(3)

2017年(6)

2016年(4)

2015年(8)

2014年(15)

2013年(31)

2012年(19)

2011年(47)

2010年(33)

2009年(105)

2008年(109)

2007年(4)

分类:

2010-08-04 17:08:15

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

  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/

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