oracle中drop、delete及truncate区别

针对oracle中drop、delete及truncate三者的区别做如下说明:
1、delete及truncate都可以删除表中的数据,但是,和drop相比,前者只删除数据,并未改变表结构,而后者连表结构也进行了删除;
2、truncate比delete删除数据性能高很多,具体原因是:使用delete语句时,系统将一次一行地处理表中的记录,在从表中删除行之前,在事务处理日志中记录相关的删除操作和删除行中的列值,以便在删除失败时,可以使用事务处理日志来做恢复数据。使用truncate语句则一次性完成删除与表有关的所有数据页的操作,另外,truncate table语句并不更新事务处理日志,使用truncate table语句从表中删除数据后,将不能使用rollback命令取消行的删除操作。

猜你喜欢

转载自honeybinshun.iteye.com/blog/1497200