首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >包含300万条记录的Mysql RDS不允许添加新列

包含300万条记录的Mysql RDS不允许添加新列
EN

Stack Overflow用户
提问于 2018-05-16 19:38:59
回答 2查看 1K关注 0票数 0

您好,我有mysql rds数据库服务器,我的一个表有3 million+记录,当我尝试添加新列时,它总是失败,并给出以下错误

查询ALTER TABLE user_notifications ADD program_id int(11);

错误Temporary file write failure

我的RDS DB实例是db.t2.medium

EN

回答 2

Stack Overflow用户

发布于 2018-05-16 19:50:30

ALTER TABLE是对表的重新创建,因此在此过程中的某个阶段,系统上将存在该表的两个副本。

因此,执行此操作所需的空闲空间将大于data length大小。

您可以在表信息中查看data length

有一个alternate solution,您可以在其中创建一个具有新的所需模式的新表,并将数据从旧表分块移动到新表。

票数 2
EN

Stack Overflow用户

发布于 2018-05-16 19:44:15

在使用alter时,MySQL将重新创建表,因此磁盘上需要有足够的可用空间来存储该表的另一个副本。

我怀疑表很大,因为它有300万条记录,而您的磁盘没有足够的空间

This article展示了如何确定一个表使用了多少磁盘空间

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50369955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档