Creative Saplings

MERGE-Anweisung

Dezember 16, 2020
No Comments

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

Home „Artikel“ 9i „Hier

Die Anweisung MERGE wurde in Oracle 9i eingeführt, um bedingt einzufügen oder zu aktualisieren Daten abhängig von ihrem Vorhandensein, ein Prozess, der auch als „Upsert“ bezeichnet wird. Die Anweisung MERGE reduziert Tabellenscans und kann den Vorgang bei Bedarf parallel ausführen.

  • Syntax
  • Leistung

Verwandte Artikel.

  • Die MERGE-Anweisung
  • Verbesserungen der MERGE-Anweisung in Oracle Database 10g

Syntax

Betrachten Sie das folgende Beispiel, in dem Daten aus der Tabelle HR_RECORDS in die Tabelle EMPLOYEES Tabelle.

Die Quelle kann auch eine Abfrage sein.

Leistung

Die MERGE ist für das Zusammenführen von Datensätzen anstelle einzelner Zeilen optimiert, wie im folgenden Beispiel gezeigt.

Erstellen Sie die folgenden Testtabellen. Die Quelltabelle enthält alle Zeilen aus der ALL_OBJECTS Ansicht, während die Zieltabelle ungefähr die Hälfte der Zeilen enthält.

Der folgende Code vergleicht die Leistung von vier Zusammenführungsvorgängen. Der erste verwendet die gerade Anweisung MERGE. Die zweite verwendet auch die Anweisung MERGE, jedoch zeilenweise. Der dritte führt eine Aktualisierung durch und fügt die Zeile bedingt ein, wenn die Aktualisierung null Zeilen berührt. Der vierte fügt die Zeile ein und führt dann eine Aktualisierung durch, wenn das Einfügen mit einem doppelten Wert bei Indexausnahme fehlschlägt.

Die Ausgabe zeigt, dass die gerade Anweisung MERGE eine Reihenfolge ist schneller als sein nächster Rivale. Das Update / Insert führt fast die doppelte Geschwindigkeit des Insert / Updates aus und gleicht das zeilenweise MERGE aus.

Vergleichen Sie einfach das Update / Insert Bei isolierten Einfüge- / Aktualisierungsmethoden müssen wir uns daran erinnern, dass die Vergleiche abhängig von den Daten in der Tabelle variieren. Wenn die meisten Daten noch nicht vorhanden sind, ist der Ansatz zum Einfügen / Aktualisieren möglicherweise besser. Wenn die meisten Daten bereits vorhanden sind, ist der Ansatz zum Aktualisieren / Einfügen wahrscheinlich besser. Wenn Sie sich nicht sicher sind, verwenden Sie einfach die Zusammenführung, da dies klarer ist.

Zusätzlich dazu, dass die gerade MERGE -Anweisung schneller ist, da es sich um eine DML-Anweisung handelt Sie können problemlos parallel ausgeführt werden, um die Leistung weiter zu verbessern, vorausgesetzt, Ihr Server kann die zusätzliche Last bewältigen.

Weitere Informationen finden Sie unter:

  • Die MERGE-Anweisung
  • Verbesserungen der MERGE-Anweisung in Oracle Database 10g
  • MERGE

Ich hoffe, dies hilft. Grüße Tim …

Zurück zum Anfang.

Articles
Previous Post

7 Günstige Cape Cod Campingplätze, die Sie lieben werden

Next Post

Tostones oder Maduros, welche sind Sie?

Schreibe einen Kommentar Antworten abbrechen

Neueste Beiträge

  • Beste Fotografieschulen der Welt, 2020
  • Souveräne Bürger bringen ihre regierungsfeindliche Philosophie auf die Straße
  • Leitfaden für Stuckreparaturkosten
  • Muckrakers (Deutsch)
  • Präzisionsonkologie

Archive

  • Februar 2021
  • Januar 2021
  • Dezember 2020
  • November 2020
  • Oktober 2020
  • September 2020
  • 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.