暂无图片
MYSQL DDL 灵魂提问
我来答
分享
张小帅
2021-06-22
MYSQL DDL 灵魂提问

MYSQL 5.7 一张18G的大表做add column 操作,为什么会消耗很多内存后又释放?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
肖杰

大佬问这问题你是在逗我嘛???小逗比~~~

暂无图片 评论
暂无图片 有用 1
老紫竹

行存呗。得腾出位置给新列保存数据用。 瞎倒腾一遍。

暂无图片 评论
暂无图片 有用 0
张小帅

行存,是存到哪里呢,我给innodb_buffer才12G,但是在ddl过程内存用了30G。

暂无图片 评论
暂无图片 有用 0
Cui Hulong

ALTER语句里ALGORITHM:
COPY:对原始表的一个副本执行操作,将表数据从原始表逐行复制到新表。
INPLACE:操作避免复制表数据,但可能在适当的地方重建表。
目前看情况应该是inplace方式,但在做rebuild表操作。

image.png
https://dev.mysql.com/doc/refman/5.7/en/innodb-online-ddl-operations.html#online-ddl-column-operations

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏