05
2020
04

delete 与Truncate区别?

1)Truncate 是DDL 语句,DELETE 是DML语句。


2) Truncate 的速度远快于DELETE;


原因是: 当执行DELETE操作时所有表数据先被COPY到回滚表空间,数据量不同花费时间长短不一。而TRUNCATE 是直接删除数据不进回滚表空间。


3) delete 数据可以运行Rollback 进行数据回滚。而Truncate 则是永久删除不能回滚。


4) Truncate 操作不会触发表上的delete触发器,而delete 会正常触发。


5) Truncate 语句不能带where 条件意味着只能全部数据删除,而DELETE可带where 条件进行删除数据。


6) Truncate 操作会重置表的高水位线(High Water Mark),而delete 不会。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。