truncate table和delete都能删除表中的所有数据,但是使用truncate table比使用delete的执行效率高,这是因为:
使用delete语句,系统将一次一行的处理要删除的表中的记录,在从表中删除行之前,在事务处理日志中记录有关的删除操作和删除行中的列值,以便在删除失败时,可以使用事务处理日志来恢复数据。
使用truncate table语句则一次性完成删除与表有关的所有数据页的操作。另外,truncate table语句并不更新事务处理日志。因此,使用truncate table语句从表中删除行后,将不能使用rollback命令取消行的删除操作。
本文对比了truncate table和delete两种删除表中所有数据的方法。使用truncate table效率更高,因为它一次性完成删除操作且不记录事务日志,但这也意味着无法通过rollback恢复数据。
1174

被折叠的 条评论
为什么被折叠?



