`
tjuxiaoqiang
  • 浏览: 25283 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于truncate和delete的区别

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

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

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

相关推荐

Global site tag (gtag.js) - Google Analytics