知识大全 Oracle中truncate与delete的区别
Posted 空间
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle中truncate与delete的区别相关的知识,希望对你有一定的参考价值。
Oracle中truncate与delete的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
区别
在功能上 truncate是清空一个表的内容 它相当于delete from table_name
delete是dml操作 truncate是ddl操作 因此 用delete删除整个表的数据时 会产生大量的roolback 占用很多的rollback segments 而truncate不会
在内存中 用delete删除数据 表空间中其被删除数据的表占用的空间还在 便于以后的使用 另外它是 假相 的删除 相当于windows中用delete删除数据是把数据放到回收站中 还可以恢复 当然如果这个时候重新启动系统(OS或者RDBMS) 它也就不能恢复了!
而用truncate清除数据 内存中表空间中其被删除数据的表占用的空间会被立即释放 相当于windows中用shift+delete删除数据 不能够恢复!
truncate 调整high water mark 而delete不 truncate之后 TABLE的HWM退回到 INITIAL和NEXT的位置(默认)delete 则不可以
truncate 只能对TABLE delete 可以是table view synonym
TRUNCATE TABLE 的对象必须是本模式下的 或者有drop any table的权限 而 DELETE 则是对象必须是本模式下的 或被授予 DELETE ON SCHEMA TABLE 或DELETE ANY TABLE的权限
在外层中 truncate或者delete后 其占用的空间都将释放
cha138/Article/program/Oracle/201311/17545相关参考
一delete产生rollback如果删除大数据量的表速度会很慢同时会占用很多的rollbacksegmentstruncate是DDL操作不产生rollback速度快一些 Truncate
知识大全 Oracle数据被删除(delete,drop)之后的恢复方式
Oracle数据被删除(delete,drop)之后的恢复方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
知识大全 Oracle数据库删除语句DELETE的一般性用法
Oracle数据库删除语句DELETE的一般性用法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
几种方法 将表空间用press=Y参数exp出来将其中表truncate后将表imp进去 使用alter tablespace name
数据字典表Truncate掉将导致数据库不可用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在
Oracle内存结构:SGA的区域信息 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SGA的区
SQL实战新手入门:删除数据-DELETE语句(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL实战新手入门:删除数据-DELETE语句(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
利用ADO获取DELETE后所影响的记录数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
知识大全 DML操作update和delete时产生的锁示例
DML操作update和delete时产生的锁示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!