MySQL什么情况下删除数据会释放空间: 1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后create。只不过这个create table 的过程做了优化,比如表结构文件之前已经有了等等,就不需要重新再搞一把。所以速度上应该是接近drop table的速度。 3、对于delete from table_name :删除表的全部数据 对于MyISAM 会立刻释放磁盘空间 (应该是做了特别处理,也比较合理) InnoDB 不会释放磁盘空间 4、对于delete from table_name where xxx带条件的删除,不管是innodb还是MyISAM都不会释放磁盘空间。 5、delete操作以后 使用optimize table table_name 会立刻释放磁盘空间。不管是innodb还是myisam。所以要想达到清理数据的目的,请delete以后执行optimize table 操作。 6、delete from表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。 |
免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!
始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!
扫一扫,关注站长网微信