gpt4 book ai didi

mysql - 删除 mySQL 表后磁盘空间何时再次可用?

转载 作者:行者123 更新时间:2023-11-29 05:38:10 27 4
gpt4 key购买 nike

如果我删除一个 innodb 表,什么时候会回收磁盘空间?它会立即发生吗?

用记录代替整个表怎么样?

最佳答案

这取决于您是否启用了 innodb_file_per_table 服务器设置。

如果启用 innodb_file_per_table,则每个表将其数据存储在单独的 .ibd 文件中。否则,所有表的数据都存储在一个共享的 .ibd 文件中。

使用innodb_file_per_table:

  • 当您删除表时,.ibd 文件会被删除,磁盘空间会立即释放。
  • 当您删除记录时,它会释放 .ibd 文件内的空间,但不会缩小它。重建表(例如通过运行 OPTIMIZE TABLE)将释放磁盘空间。

没有innodb_file_per_table:

  • 删除表或从表中删除行可释放共享 .ibd 文件中的空间以用于存储 future 数据,但共享 .ibd 文件永远不会缩小

关于mysql - 删除 mySQL 表后磁盘空间何时再次可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8973943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com