代わりに外部キーシステムに変換するために、多くの重複テキスト文字列をあるテーブルから別のテーブルに分離しようとしています。
一意のテキストを取得して新しいテーブルに挿入するのは簡単ですが、次の更新/サブクエリを試して、元のテーブルを新しい外部キー値で更新してみました。2,200 万行で、思ったより時間がかかりました。
これをより効率的にする方法はありますか?サブクエリを実行することが良い解決策であるとは思えません。元のテーブルには、player
プレイヤー名の文字列を含む列があります。すべての一意の値を別のテーブルにダンプしたので、元のテーブルを新しい ID で更新したいと考えています。
UPDATE prism_actions SET player_id = (SELECT prism_players.id FROM prism_players WHERE prism_players.player = prism_actions.player);
Query OK, 22018608 rows affected (2 hours 21 min 58.97 sec)
私はこれを行うために数年前に例を使用していましたが、私の人生では、私がやろうとしていることにリモートで関連するものは何もありません。Google は私が何を言いたいのか理解できず、これ以上質問する方法が思いつきません。