次の SQL の実行は遅すぎます。どのように最適化する必要がありますか?
このうち、AAテーブルとBBテーブルは同一であり、1つのテーブルです
光阴似箭催人老,日月如移越少年。
よく分かりませんでしたが、同じ手順なので、テーブルセットの列1 = 列2の条件を更新するだけ、それだけです
新しい値に基づいて新しいテーブルを作成し、次に 2 つのテーブルをマージし、最後に一時テーブルを削除します。
トランザクションを作成し、すべての更新をそこに書き込み、最後にコミットします。
わからないのは、AAとBBが1つのテーブルなのか2つのテーブルなのかです。 1つのテーブルの場合は、@prolifesのメソッドを使用できます。 2つのテーブルの場合は、 update AA a, BB b set a。 .col1 = b.col2 ここで、a.bh = b.bh、a.year='2017-2018'、b.year='2016-2017'、また、遅さはデータのサイズとインデックス、私は一般的な方法を提供するだけです、それがどれほど効果的か、あなたは自分で試してください
ご提案ありがとうございます。最終的には、もう少し効率的なインターネット上の方法を使用しました。 Oracle には 2 つの方法があります: インライン ビューの更新
よく分かりませんでしたが、
同じ手順なので、
テーブルセットの列1 = 列2の条件を更新するだけ
、それだけです
新しい値に基づいて新しいテーブルを作成し、次に 2 つのテーブルをマージし、最後に一時テーブルを削除します。
トランザクションを作成し、すべての更新をそこに書き込み、最後にコミットします。
わからないのは、AAとBBが1つのテーブルなのか2つのテーブルなのかです。
1つのテーブルの場合は、@prolifesのメソッドを使用できます。
2つのテーブルの場合は、
update AA a, BB b set a。 .col1 = b.col2 ここで、a.bh = b.bh、a.year='2017-2018'、b.year='2016-2017'、
また、遅さはデータのサイズとインデックス、私は一般的な方法を提供するだけです、それがどれほど効果的か、あなたは自分で試してください
ご提案ありがとうございます。最終的には、もう少し効率的なインターネット上の方法を使用しました。
リーリーOracle には 2 つの方法があります:
インライン ビューの更新