Creative Saplings

MERGE-instructie

december 16, 2020
No Comments

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

Home “Artikelen” 9i “Hier

De MERGE -instructie werd geïntroduceerd in Oracle 9i om voorwaardelijk in te voegen of bij te werken afhankelijk van hun aanwezigheid, een proces dat ook bekend staat als een “upsert”. De MERGE -instructie vermindert tabelscans en kan de bewerking indien nodig parallel uitvoeren.

  • Syntaxis
  • Prestaties

Gerelateerde artikelen.

  • De MERGE-verklaring
  • MERGE-verklaring Verbeteringen in Oracle Database 10g

Syntax

Beschouw het volgende voorbeeld waarin gegevens uit de HR_RECORDS -tabel worden samengevoegd in de EMPLOYEES tabel.

De bron kan ook een zoekopdracht zijn.

Prestaties

De MERGE -instructie is geoptimaliseerd voor het samenvoegen van gegevenssets, in plaats van enkele rijen, zoals in het onderstaande voorbeeld.

Maak de volgende testtabellen. De brontabel bevat alle rijen van de ALL_OBJECTS bekijken, terwijl de bestemmingstabel ongeveer de helft van de rijen bevat.

De volgende code vergelijkt de prestaties van vier samenvoegbewerkingen. De eerste gebruikt de rechte MERGE -instructie. De tweede gebruikt ook de instructie MERGE, maar dan op een rij-voor-rij-manier. De derde voert een update uit en voegt voorwaardelijk de rij in als de update nul rijen raakt. De vierde voegt de rij in en voert vervolgens een update uit als de invoeging mislukt met een dubbele waarde op indexuitzondering.

De uitvoer toont de rechte MERGE -instructie is een bestelling van omvang sneller dan zijn naaste rivaal. De update / insert voert bijna tweemaal de snelheid uit van de insert / update en even out voert de rij voor rij MERGE uit.

Gewoon de update / insert vergelijken en de invoeg- / update-methoden afzonderlijk, moeten we onthouden dat de vergelijkingen zullen variëren afhankelijk van de gegevens in de tabel. Als de meeste gegevens niet al aanwezig zijn, is de invoeg- / update-aanpak wellicht beter. Als de meeste gegevens al aanwezig zijn, zal de update / insert-benadering waarschijnlijk beter zijn. Als je het niet zeker weet, gebruik dan gewoon samenvoegen, aangezien het duidelijker is.

Naast de directe MERGE -instructie die sneller is, omdat het een DML-instructie is, kan het kunnen eenvoudig parallel worden uitgevoerd om de prestaties verder te verbeteren, op voorwaarde dat uw server de extra belasting aankan.

Zie voor meer informatie:

  • De MERGE-verklaring
  • Verbeteringen in de MERGE-verklaring in Oracle Database 10g
  • MERGE

Ik hoop dat dit helpt. Met vriendelijke groet Tim …

Terug naar de top.

Articles
Previous Post

7 goedkope campings in Cape Cod waar je dol op bent

Next Post

Tostones of Maduros, welke ben jij?

Geef een reactie Antwoord annuleren

Meest recente berichten

  • Beste fotografiescholen ter wereld, 2020
  • Soevereine burgers brengen hun antiregeringsfilosofie naar de weg
  • Kostenhandleiding voor stucwerkreparatie
  • Muckrakers
  • Precisie-oncologie

Archief

  • februari 2021
  • januari 2021
  • december 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.