oraccle中truncate和delete的效率如何

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oraccle中truncate和delete的效率如何相关的知识,希望对你有一定的参考价值。

用delete和truncate清空一个表,谁的效率高些。

参考技术A delete是单条删除,在日志上记录每条的删除记录,删除内容,不释放空间,不删除定义

truncate是整表删除,只在日志上记录释放记录,删除内容、释放空间,不删除定义。

可以看出delete不会释放空间,从数据库的速度执行来讲,delete速度更快,但是从长远来讲,truncate才能真正释放数据库空间,之后才会看出效果。

mysql中delete和truncate区别

delete和truncate区别如下:

一、灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据;

delete from table_test where ... 

truncate table table_test 

二、效率:delete效率低于truncate,delete是一行一行地删除,truncate会重建表结构,

三、事务:truncate是DDL语句,需要drop权限,因此会隐式提交,不能够rollback;delete是DML语句,可以使用rollback回滚。

四、触发器:truncate 不能触发任何Delete触发器;而delete可以触发delete触发器。

 

以上是关于oraccle中truncate和delete的效率如何的主要内容,如果未能解决你的问题,请参考以下文章

delete和truncate之间的差别都有哪些

truncate;和delete;

truncate和delete有啥区别

mysql中delete和truncate区别

oracle truncate和delete的区别?

oracle中delete,truncate 和 drop的区别