Creative Saplings

MERGEステートメント

12月 16, 2020
No Comments

8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c |その他| PL / SQL | SQL | RAC | WebLogic | Linux

ホーム “記事” 9i “ここ

MERGEステートメントは、条件付きで挿入または更新するためにOracle9iで導入されました。データの存在に応じて、「アップサート」とも呼ばれるプロセス。MERGEステートメントは、テーブルスキャンを削減し、必要に応じて操作を並行して実行できます。

  • 構文
  • パフォーマンス

関連記事。

  • MERGEステートメント
  • MERGEステートメントの機能強化Oracle Database 10g

構文

HR_RECORDSテーブルのデータが

テーブル。

ソースはクエリにすることもできます。

パフォーマンス

MERGEステートメントは、以下の例に示すように、単一の行ではなく、データのセットをマージするように最適化されています。

次のテストテーブルを作成します。ソーステーブルには、

ビュー。宛先テーブルには行の約半分が含まれています。

次のコードは、4つのマージ操作のパフォーマンスを比較しています。 1つ目は、ストレートのMERGEステートメントを使用します。 2番目もMERGEステートメントを使用しますが、行ごとに使用します。 3つ目は更新を実行し、更新が0行に達すると、条件付きで行を挿入します。 4番目は行を挿入し、インデックス例外で値が重複して挿入が失敗した場合に更新を実行します。

出力は、ストレートのMERGEステートメントが注文であることを示しています。最も近いライバルよりも桁違いに速い。更新/挿入は、挿入/更新のほぼ2倍の速度で実行され、行ごとにMERGEを実行します。

更新/挿入を比較するだけです。挿入/更新メソッドは分離しており、比較はテーブル内のデータによって異なることを覚えておく必要があります。ほとんどのデータがまだ存在しない場合は、挿入/更新アプローチの方が適している可能性があります。ほとんどのデータがすでに存在する場合は、更新/挿入のアプローチの方がおそらく優れています。よくわからない場合は、より明確なマージを使用してください。

ストレートのMERGEステートメントに加えて、DMLステートメントであるため高速です。サーバーが余分な負荷を処理できる場合は、並列で簡単に実行してパフォーマンスをさらに向上させることができます。

詳細については、以下を参照してください。

  • MERGEステートメント
  • Oracle Database10gでのMERGEステートメントの機能強化
  • MERGE

これがお役に立てば幸いです。よろしくティム…

トップに戻る。

Articles
Previous Post

7つの安いケープコッドキャンプ場あなたが好きになる

Next Post

トストーネとマデューロのどちらを食べますか?

コメントを残す コメントをキャンセル

最近の投稿

  • 世界で最高の写真学校、2020年
  • ソブリン市民が反政府哲学を道路に持ち込む
  • スタッコ修理費用ガイド
  • マックレーカー
  • Precision Oncology (日本語)

アーカイブ

  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.