delete trancate drop三者之间的区别

Posted learnandget

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delete trancate drop三者之间的区别相关的知识,希望对你有一定的参考价值。

简而言之:

  删除效果及速度:Drop > truncate > delete

 

原因:

  • delete,逐行删除,且用日志逐行记录用于回滚,会执行删除触发器;       ------>     只删除记录,不会释放记录和表占的空间。
  • truncate逐行删除,在日志中逐行记录,无法回滚。不执行删除触发器     ------>     删除记录,会释放空间到默认大小。
  • drop释放存储表数据所用的数据页来删除数据,只在日志中记录页的释放   ------>     释放所有空间。

 

以上是关于delete trancate drop三者之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

truncate delete与drop三者的异同

用delete和trancate删除表记录的区别

有关 drop delete truncate 问题

trancate需要提交事物吗

DROP、TRUNCATE 和 DELETE 之间的区别和最佳用途是啥?它们可以回滚吗? [复制]

记录mysql trancate 重置id自增