oracle清空表sql语句 以及Truncate与delete区别

时间:2021-04-27 16:27:58
delete 与truncate 的区别delete产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments .truncate 是DDL操作,不产生rollback,速度快一些.

oracle清空表sql语句 以及truncate与delete区别

truncate table [表名]

使用truncate语句从表中删除或群集的所有行。默认情况下,oracle数据库教程也将执行以下任务:

解除分配的唯一例外的是删除的行中使用的所有存储空间由minextents指定参数

下次存储参数设置的从进程的truncate部分取消了最后的范围大小

删除与truncate语句行可以比下降并重新创建表有效。跌落并重新创建一个表的表无效依赖的对象,需要你在桌子上补对象的特权,并要求您重新创建索引,完整性约束,并在表上的触发器和respecify其存储参数。truncate了这些影响没有。

删除与truncate语句行可以比用delete语句删除所有行,特别是如果表中有许多触发器,索引和其他依赖更快。

delete 与truncate 的区别

delete产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments .truncate 是ddl操作,不产生rollback,速度快一些.