Mysql RDS 具有 300 万条记录,不允许添加新列

标签 mysql amazon-web-services ruby-on-rails-4 amazon-rds

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

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

错误临时文件写入失败

我的 RDS 数据库实例是 db.t2.medium

最佳答案

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

因此,此操作需要的可用空间大于数据长度大小。

您可以在表信息中查看数据长度

有这个alternate solution ,其中您使用新的所需架构创建一个新表,并将数据从旧表分块移动到新表。

关于Mysql RDS 具有 300 万条记录,不允许添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50369955/

相关文章:

mysql - 为什么第二次运行 MySQL 查询速度更快?

ruby-on-rails - 未从 secrets.yml 为开发/测试环境设置 Rails 4.2.3 secret_key_base,所有其他变量均已正确设置

mysql - AWS Lambda/API Gateway - 传递 ID 以使用 node.js 删除 mysql 中的行

java - 一旦读取大约 30,000 个邮政编码,程序就会出现滞后

python - AWS lambda : call function from another AWS lambda using boto3 invoke

amazon-web-services - 无法在 EC2 实例上远程访问 Kibana

ruby-on-rails - NameError:未初始化的常量 Person::RAILS_ROOT

ruby-on-rails - 将服务器上的回形针路径文件名更新为 s3

mysql - 数据仓库模式设计——如何改进模式模型

amazon-web-services - 阻止 CloudFormation 从 CloudFront 中删除 Lambda Edge 关联