当更改表信息(如自动增量)时,mysql 临时文件夹应该有多大?

当更改表信息(如自动增量)时,mysql 临时文件夹应该有多大?

如果我的表大小为 500GB,那么临时文件夹应该有多大才能更改表信息?我将在 my.cnf 中配置临时文件夹,在此示例中,我有 64 GB 的物理内存。

答案1

根据手册中的“性能和空间要求”部分,临时文件夹的大小似乎无关紧要,因为ALTER空间取自原始表所在的同一位置:https://dev.mysql.com/doc/refman/8.0/en/alter-table.html

在原始表的数据库目录中创建该表的临时副本

对于 InnoDB 表,使用 COPY 算法对位于共享表空间可以增加表空间使用的空间量。此类操作需要的额外空间与表中的数据加上索引一样多。

...

ALTER TABLE with DISCARD ... PARTITION ... TABLESPACE or IMPORT ... PARTITION ... TABLESPACE 不创建任何临时表或临时分区文件。

...

相关内容