SQLステートメントを速くする方法があるかどうかわかりません。このアップデートステートメントのスピードアップはどうすればできますか
UPDATE table_one SET column_x = table_two.column_x FROM table_two
WHERE table_one.column_y = table_two.column_y;
現在、上記のクエリは3時間以上実行されています。それをより速くする方法に関する提案はありますか?
詳細:
- table_one 190万のレコード
- を持っているtable_twoは、両方のテーブル390万のレコード
- column_xとcolumn_yを持っては整数です。両方のテーブルに
- column_yは
は、RAMの120ギガバイトとPostgreSQL 9.3と22個のコアとVM上で実行していインデックスされます。
質問ですが、WHERE句の順序は重要ですか?つまり、もし 'table_one.column_y = table_two.column_y'の代わりに' table_two.column_y = table_one.column_y'と言ったら? – lukik
私の提案があなたを助けてくれず、まだ解決策を探しているなら、あなたのコマンドを実行するexplain analyzeの結果を加えてください。 –