我在 PostgreSQL 9.2.10 中有一个包含 3200 万行和 31 列的表。我通过添加具有更新值的列来更改表。
例如,如果初始表是:
id initial_color
-- -------------
1 blue
2 red
3 yellow
我正在修改表格,结果是:
id initial_color modified_color
-- ------------- --------------
1 blue blue_green
2 red red_orange
3 yellow yellow_brown
我有将读取 initial_color 列并更新值的代码。
鉴于我的表有 3200 万行,并且我必须在 31 列中的 5 列上应用此过程,那么最有效的方法是什么?我目前的选择是:
- 复制列并更新新列中的行
- 创建一个空列并插入新值
我可以一次选择一列,也可以一次选择全部五列。列类型为character varying
或character
。