关于truncate和delete的区别

truncate 是DDL,用于清空表中的数据,因为是DDL语言所以不能够回滚,并且不触发trigger。
具体使用方式:TRUNCATE TABLE emp;

delete 是DML,用于where条件的清空数据,当没有where时清空所有数据。因为是DML语言所以可以回滚,并且在执行过程中触发trigger。具体使用方式为:DELETE FROM emp WHERE job = 'CLERK';

另外delete操作容易造成数据库表碎片,影响查询效率。当是快进快出表,并且要用到删除整个数据时要考虑truncate操作

猜你喜欢

转载自tjuxiaoqiang.iteye.com/blog/1538613
今日推荐