1
opengps 2023-06-13 14:37:05 +08:00 1
优先考虑下扩展表之类的方案,单独加一个新的表,用逻辑外键的思路去补充需要额外保存的信息列
|
2
fanyingmao OP @opengps 扩展表的缺点就是就是,数据库要多插一次,还有多了些字段,不过也可以吧。这次估计还要多备几个字段预防后面业务变化了。
|
3
ljsh093 2023-06-13 14:55:16 +08:00
预留一个 text 列以 json 形式存取
|
4
JinTianYi456 2023-06-13 15:39:57 +08:00
@fanyingmao #2 `多备几个字段` 列转行,考虑不?这样基本无字段问题了
|
5
rootx 2023-06-13 15:41:07 +08:00
阿里云的不锁表方案 是新建一个表 然后复制数据 最后再用 binlog 同步一下 最后切换 收费 12 块钱一天
|
6
brader 2023-06-13 15:44:54 +08:00
我在生产中实际使用的主要有两种方案:
方案一:选择在业务低峰期加字段,代价是某些模块接受短暂时间的无法写入。 方案二:复制一个新表,新表加新字段,然后把旧表数据插入新表,插入完之后,rename 两个表 |
7
OpenSea 2023-06-13 15:54:42 +08:00
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 |
8
SpMozzi 2023-06-13 16:04:06 +08:00 3
市面上有 2 个开源的工具都可以做到 Online DDL
1. percona 开源工具 pt-online-schema-change 2. github 上 gh-ost |
9
dw2693734d 2023-09-17 20:52:08 +08:00
postgresql 的优越性就在这里体现出来了
|