数据库delete不释放表空间

MySQL删除数据什么情况下会释放空间

  1. 对于delete from table_name:
    • 删除表的全部数据
    • 对于MyISAM 会立刻释放磁盘空间 (应该是做了特别处理,也比较合理)
    • InnoDB 不会释放磁盘空间
  2. 对于delete from table_name where xxx带条件的删除。
    • 不管是innodb还是MyISAM都不会释放磁盘空间
  3. delete操作以后 使用optimize table table_name 会立刻释放磁盘空间。
    • 不管是innodb还是myisam,所以要想达到清理数据的目的,请delete以后执行optimize table 操作。
  4. delete from表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。

你可能感兴趣的:(db)