码迷,mamicode.com
首页 > 其他好文 > 详细

truncate table与delete区别

时间:2014-10-30 17:02:20      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:style   http   io   color   os   ar   使用   sp   文件   

truncate table需要drop table权限,它是完全清空一张表。
从逻辑上看,truncate table同delete 一样,或是drop table +create table一样。使用truncate table删除全表数据,要比delete要快。使用truncate table清空数据,不能进行回滚,且不受表间外键约束限制。
truncate是DDL语句,而且delete是DML语句,两者区别如下:
1.truncate 是邮drop table+create table ,比使用delete一行行删除数据要快得多,特别是清空大数据的表。
2.truncate是一种隐匿提交,所以不能进行回滚。
3.若当前表有外键约束,truncate table 可以清空表中的所有数据,不受外键约束限制。
4.使用truncate table将自增ID置零,delete则不会。
5.在使用分区表时,截断表保存分区;也就是说,数据和索引文件删除并重新创建,在分区定义(.par)文件不受影响。
6.TRUNCATE TABLE语句不调用删除触发器。


参考:


truncate table与delete区别

标签:style   http   io   color   os   ar   使用   sp   文件   

原文地址:http://blog.csdn.net/fzdba/article/details/40622219

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!