(19)drop、truncate和delete的区别

2020-10-23  本文已影响0人  hedgehog1112

速度上 drop> truncate > delete

1、drop:删除

2、truncate:保留表,删除所有数据,1)和事务无关(删除行不能恢复); 有外键约束能用; 2)表和索恢复初始大小(重新设置高水线和索引,缺省时将空间释放到minextents个extent除非:)

        truncate + reuse stroage:整理表内部碎片,再重新导入/插入数据。

3、delete:删除部分数据,1)和事务有关(事务记日志中以便回滚),想触发trigger; 2)空间全释

truncate、drop是DLL(data define language), 隐式提交,立即生效,原数据不放 rollback segment中,不能回滚,不会触发触发器。

https://zhuanlan.zhihu.com/p/174836293

上一篇下一篇

猜你喜欢

热点阅读