oracle 如何删掉一千万条数据

2025-03-16 14:37:23

1、在功能上,truncate是清空一个表的内容,它相当于delete from table_name。

oracle 如何删掉一千万条数据

2、delete是dml操作,truncate是ddl操作;因此,用delete删除整个表的数据时,会产生大量的roolback,占用很多的rollback segments, 而truncate不会。

oracle 如何删掉一千万条数据

3、在内秽颢擤崮存中,用delete删除数据,表空间中其被删除数据的表占用的空间还在,便于以后的使用,另外它是“假相”的删坛冰核哧除,相当于windows中用delete删除数据是把数据放到回收站中,还可以恢复,当然如果这个时候重新启动系统(OS或者RDBMS),它也就不能恢复了!而用truncate清除数据,内存中表空间中其被删除数据的表占用的空间会被立即释放,相当于windows中用shift+delete删除数据,不能够恢复!

oracle 如何删掉一千万条数据

4、truncate 调整high water mark 而delete不;truncate之后,TABLE的HWM退回到 INITIAL和NEXT的位置(默认)delete 则不可以。

oracle 如何删掉一千万条数据

5、truncate 只能对TABLE,delete 可以是table,view,synonym。

oracle 如何删掉一千万条数据

6、TRUNC钽吟篑瑜ATE TABLE 的对象必须是本模式下的,或者有drop any table的权限 而 DELETE 则是对象必须是眺螗熨膣本模式下的,或被授予 DELETE ON SCHEMA.TABLE 或DELETE ANY TABLE的权限。

oracle 如何删掉一千万条数据

7、在外层中,truncate或者delete后,其占用的空间都将释放。truncate和delete只删除数据,而drop则删除整个表(结构和数据)。

oracle 如何删掉一千万条数据
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢