更多相关内容...>>truncate和delete
truncate和delete
先比较一下truncate和delete
MLAnpw http://www.numino.net
1、在功能 上,truncate是清空一个表的内容,它相当于delete from table_name。
uGD185 http://www.numino.net
2、 delete是dml操作,truncate是ddl操作;因此,用delete删除整个表的数据时,会产生大量的roolback, 占用很多的rollback segments(产生用于恢复的日志), 而truncate不会。
22Z1eB http://www.numino.net
3、在内存 中,用delete删除数据,表空间中其被删除数据的表占用的空间还在,便于以后的使用,另外它是 “假相”的删除,相当于windows中用delete删除数据是把数据放到回收站中,还可以恢复,当然如果这个时候重新启动系统(OS或者RDBMS),它也就不能恢复了!(如果立即做尾日志备份并且保证之前的日志链都ok的话,还是有可能恢复的)而用truncate清除数据,内存中表空间中其被删除数据的表占用的空间会被立即释放,相当于windows中用shift+delete删除数据,不能够恢复!(有日志也能恢复^o^ 只是不如回闪那么爽了!)
U8spAa http://www.numino.net
4、truncate 调整high water mark 而delete不;truncate之 后,TABLE的HWM退回到 INITIAL和NEXT的位置(默认)delete 则不可以。
7AcKlK http://www.numino.net
5、truncate 只能对TABLE,delete 可以是table,view,synonym。
s1oWNT http://www.numino.net
6、TRUNCATE TABLE 的对象必须是本模式下的,或者有drop any table的权限 而 DELETE 则是对象必须是本模式下的,或被授 予 DELETE ON SCHEMA.TABLE 或DELETE ANY TABLE的权限。
pddWiM http://www.numino.net
7、在外层 中,truncate或者delete后, 其占用的空间都将释放。
0f549f http://www.numino.net
8、truncate和delete只删除数据,而drop则删除整个表(结构和数据)。
Y9Rga2 http://www.numino.net
删除大数据表的方法参考:
ZTvdqC http://www.numino.net
1、先将不 需要删除的数据复制到一个临时表中
15ZrQU http://www.numino.net
2、trunc table 表
OML14e http://www.numino.net
3、将不需 要删除的数据复制回来。
X4Jg60 http://www.numino.net
不同:DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据页并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
6KLf5T http://www.numino.net
truncate的功能可以拆分为:dropping + re-creating a table,但truncate的效率要高。因为truncate无 须考虑表索引、约束、触发器等的重建。另外truncate执行后,无法回滚(roll back)
8ScZ44 http://www.numino.net
HWM(high water mark,最高水位线):The high water mark is divides a segment into used blocks and free blocks。Blocks below the high water mark (used blocks) have at least once contained data. This data might have been deleted. Since Oracle knows that blocks beyond the high water mark don't have data, it only reads blocks up to the high water mark in a full table scan(FTS).在oracle10g中增加了调整HWM的命令:alter table xxx shrink space。
更多相关内容...>>truncate和delete

Bug报告 |  免责声明 |  联系我们 |  加入收藏

Copyright © 2006 NuminoStudio(www.numino.net) All Rights Reserved