delete,truncate,drop的区别

操作

删除对象

表和索引的空间

是否回滚

时间

delete

table和view的数据,可以使用where精确删除,删除会触发触发器

表或索引的空间不变化

是dml,可以rollback回滚

最慢

truncate

table的数据,不记录日志,不触发触发器,外键约束的表不能删除

表所占用的空间恢复到初始大小

是dll,不能回滚

drop

整个表,包括依赖的约束,触发器,索引,依赖表的存储过程或函数保留,状态变为invalid

表所占用的空间全部释放

是dll,不能回滚

最快

 

posted @ 2017-05-24 15:47  hellowcf  阅读(189)  评论(0编辑  收藏  举报