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 列にこの手順を適用する必要がある場合、これを行う最も効率的な方法は何ですか? 私の現在の選択肢は次のとおりです。
- 列をコピーし、新しい列の行を更新します
- 空の列を作成して新しい値を挿入する
一度に 1 つの列を使用するか、5 つすべてを一度に使用するかのいずれかのオプションを実行できます。列のタイプは または のいずれcharacter varying
かcharacter
です。