1
3
唯一的方法
减少
在不临时占用更多空间的情况下,存储的使用是删除表或截断表,即使这样,也只有在您有选择的情况下才会减少空间。
许多类型的alter table操作都会临时复制表,从而创建一个新的表空间。参照 https://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html 注意每一种用“rebuilds table:yes”标记的alter table。 重建表意味着创建一个新表,将旧表中的所有数据复制到新表中,同时适应新表中列的更改,然后将新表替换为旧表,最后删除旧表。对于一个大表来说,这需要时间,并且临时需要同时存储表和新表。 基本上,任何更改行大小的更改,如添加/删除列、更改列的数据类型,甚至更改列的可空性,都会重建表。不可能快速或不临时使用更多空间就删除列。 其他一些类型的alter表,比如删除次键,释放表空间中的数据库页,而不重建表。但这些页面仍然由表空间保存,并由后续数据或索引回收。 表空间永远不会缩小。它只能在复制到新表空间时删除,或者进行碎片整理。 因此,您需要确保至少有足够的可用磁盘空间来存储最大表的第二个副本(如果二进制日志存储在同一个卷上,则加上二进制日志,但我不知道RDS是否将binlog存储在同一个卷上)。 |
rs_ · 命令df-h提供100%的磁盘使用率,即使磁盘未满[关闭] 7 年前 |
Joe Lloyd · 服务器磁盘空间似乎不正确,为什么? 9 年前 |
Connor M · R使用RecordLinkage包 9 年前 |
SteeveDroz · 引擎盖下面的一团是什么? 10 年前 |