oracle中truncate table与delete的区别
2014-03-21 13:05
651 查看
truncate table和delete都能删除表中的所有数据,但是使用truncate table比使用delete的执行效率高,这是因为:
使用delete语句,系统将一次一行的处理要删除的表中的记录,在从表中删除行之前,在事务处理日志中记录有关的删除操作和删除行中的列值,以便在删除失败时,可以使用事务处理日志来恢复数据。
使用truncate table语句则一次性完成删除与表有关的所有数据页的操作。另外,truncate table语句并不更新事务处理日志。因此,使用truncate table语句从表中删除行后,将不能使用rollback命令取消行的删除操作。
使用delete语句,系统将一次一行的处理要删除的表中的记录,在从表中删除行之前,在事务处理日志中记录有关的删除操作和删除行中的列值,以便在删除失败时,可以使用事务处理日志来恢复数据。
使用truncate table语句则一次性完成删除与表有关的所有数据页的操作。另外,truncate table语句并不更新事务处理日志。因此,使用truncate table语句从表中删除行后,将不能使用rollback命令取消行的删除操作。
相关文章推荐
- delete p与delete p[]的区别
- Oracle 中truncate与delete的区别【转】
- C语言 malloc/free和C++中new/delete的区别
- malloc/free与new/delete的区别
- Mysql DELETE语句与TRUNCATE语句区别
- mysql清空表语句 truncate和delete from 的区别
- drop、truncate和delete的区别
- malloc/free 和 new/delete的联系和区别
- malloc/free与new/delete的区别
- delete 和delete[]区别
- C++中delete和delete[]的区别
- delete和delete[]的区别
- malloc/free与new/delete的使用方法与区别
- delete和delete[]的区别
- SQL中truncate table和delete的区别
- malloc/free和new/delete的区别
- SQL truncate 、delete与drop区别 分类: database 2014-02-17 08:47 241人阅读 评论(0) 收藏
- C++中delete和delete[]的区别
- delete和delete[] 的区别
- MySQL 中 truncate、delete、drop 的区别