truncate ,delete ,drop的区别

1.truncate和delete删除表中的数据;drop是将表从数据字典中删除,并清空表中的数据。
2.truncate和drop 为DDL语句,不会产生重做日志;delete为DML语句,会产生重做日志。
3.truncate之后会降低高水位线,而delete之后不会降低高水位线。
4.truncate,drop,delete执行所花的时间不同。
SQL> set timing on
SQL> delete from test;
151358 rows deleted.
Elapsed: 00:00:06.16
SQL> rollback;
Rollback complete.
Elapsed: 00:00:07.00
SQL> drop table test;
Table dropped.
Elapsed: 00:00:00.36
SQL> flashback table test to before drop;
Flashback complete.
Elapsed: 00:00:00.02
SQL> drop table test purge;
Table dropped.
Elapsed: 00:00:00.06
SQL> truncate table test;
Table truncated.
Elapsed: 00:00:00.34

标签: 暂无标签
shark

写了 7 篇文章,拥有财富 71,被 3 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

成为第一个吐槽的人

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈