mysql 如何给几千万表添加字段

2023 年 6 月 13 日
 fanyingmao
条数一多,加字段就要好久,有没什么简单方法,还是可以让运维处理。
2593 次点击
所在节点    MySQL
9 条回复
opengps
2023 年 6 月 13 日
优先考虑下扩展表之类的方案,单独加一个新的表,用逻辑外键的思路去补充需要额外保存的信息列
fanyingmao
2023 年 6 月 13 日
@opengps 扩展表的缺点就是就是,数据库要多插一次,还有多了些字段,不过也可以吧。这次估计还要多备几个字段预防后面业务变化了。
ljsh093
2023 年 6 月 13 日
预留一个 text 列以 json 形式存取
JinTianYi456
2023 年 6 月 13 日
@fanyingmao #2 `多备几个字段` 列转行,考虑不?这样基本无字段问题了
rootx
2023 年 6 月 13 日
阿里云的不锁表方案 是新建一个表 然后复制数据 最后再用 binlog 同步一下 最后切换 收费 12 块钱一天
brader
2023 年 6 月 13 日
我在生产中实际使用的主要有两种方案:
方案一:选择在业务低峰期加字段,代价是某些模块接受短暂时间的无法写入。
方案二:复制一个新表,新表加新字段,然后把旧表数据插入新表,插入完之后,rename 两个表
OpenSea
2023 年 6 月 13 日
1.新建 table-copy ,增加字段
2.rename origin table to old-table
3.rename table-copy to origin table
4.insert into origin table select * from old table
SpMozzi
2023 年 6 月 13 日
市面上有 2 个开源的工具都可以做到 Online DDL
1. percona 开源工具 pt-online-schema-change
2. github 上 gh-ost
dw2693734d
2023 年 9 月 17 日
postgresql 的优越性就在这里体现出来了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/948330

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX