美文网首页
(19)drop、truncate和delete的区别

(19)drop、truncate和delete的区别

作者: hedgehog1112 | 来源:发表于2020-10-23 14:17 被阅读0次

    速度上 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

    相关文章

      网友评论

          本文标题:(19)drop、truncate和delete的区别

          本文链接:https://www.haomeiwen.com/subject/nelvmktx.html