先DELE,再TRUNCATE ,会造成存储垃圾吗? ORACLE 9i 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会吧,dele后,如果没有commit;则在内存中缓存,再truncate,直接删除,不可rollback,则前面的缓存没有清除,清除一下,应该可以 知道了一半如果COMMIT了呢? 我需要处理多个批次之后,才能清除接口表,每个批次,如果再一开始就把无效数据DELE之后,能够减少很多条件子句,提高不少速度所以,很关心这种做法能不能长久运行下去,也就是说,不产生存储垃圾 truncate能够快速清除所有数据,不管里边有没有,不会有问题吧 为什么不直接truncate呀,为什么要先delete 呀 delete与truncate都是把表的的数据清空.但它们是有区别的.DELETE 把数据清除后可以rollback,但TRUNCATE不可ROLLBACK.DELETE 是属DML ,TRUNCATE是DDL.DELETE 删除数据后不会回收空间,即如果原来的table已占了10M,你删除了2M的记录,这个表公然还是占10M. TRUNCATE在清空数据后可以回收空间,即 high water 会降下来.TRUNCATE不激活任何DELETE TRIGGER.PS: 在你用delete清除记录后,可以用 alter table table_name deallocate unused;来回收没用的空间. sql转成oracl,.net程序员可看 调用存储过程报错ORA-06550(急) 数据问题 紧急求助!安装oracle 11g RAC出现问题! oracle 存储过程问题,在线等 调用存储过程中,输入参数出错:非法的变量名/编号,源代码见内。 怎样将Oracle中的数据,导出为MS ACCESS的MDB格式? 如何在PL/SQL中用动态表名中查询数据 如何手动删除OC4J 赋值变量不存在是什么引起的? 请问:O7.x 怎样 迁移 到 O8 上去? system表空间和users表空间有什么区别
DELETE 是属DML ,TRUNCATE是DDL.
DELETE 删除数据后不会回收空间,即如果原来的table已占了10M,你删除了2M的记录,这个表公然还是占10M. TRUNCATE在清空数据后可以回收空间,即 high water 会降下来.
TRUNCATE不激活任何DELETE TRIGGER.PS:
在你用delete清除记录后,可以用
alter table table_name deallocate unused;来回收没用的空间.