Creative Saplings

MERGE Statement

december 16, 2020
No Comments

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

Hjem “Artikler” 9i “Her

MERGE udsagn blev introduceret i Oracle 9i for at indsætte eller opdatere betinget data afhængigt af dets tilstedeværelse, en proces også kendt som en “upsert”. MERGE udsagn reducerer bordscanninger og kan udføre operationen parallelt, hvis det er nødvendigt.

  • Syntaks
  • Performance

Relaterede artikler.

  • MERGE-erklæringen
  • MERGE-erklæring Forbedringer i Oracle Database 10g

Syntaks

Overvej følgende eksempel, hvor data fra HR_RECORDS -tabellen flettes til EMPLOYEES -tabel.

Kilden kan også være en forespørgsel.

Ydelse

MERGE -erklæringen er optimeret til at flette datasæt i stedet for enkelte rækker, som vist i eksemplet nedenfor.

Opret følgende testtabeller. Kildetabellen indeholder alle rækkerne fra ALL_OBJECTS visning, mens destinationstabellen indeholder ca. halvdelen af rækkerne.

Den følgende kode sammenligner udførelsen af fire fletteoperationer. Den første bruger den lige MERGE udsagn. Den anden bruger også udsagnet MERGE, men på række for række. Den tredje udfører en opdatering og indsætter betingelsen rækken, hvis opdateringen berører nul rækker. Den fjerde indsætter rækken og udfører derefter en opdatering, hvis indsatsen mislykkes med en duplikatværdi på indeksundtagelsen.

Outputtet viser den lige MERGE -udtalelse er en ordre af styrke hurtigere end dens nærmeste rival. Opdateringen / indsatsen udfører næsten dobbelt så hurtigt som indsættelsen / opdateringen og udjævner lige efter række-for-række MERGE.

Bare sammenligning af opdateringen / indsættelsen og indsæt / opdateringsmetoderne isoleret, skal vi huske, at sammenligningerne varierer afhængigt af dataene i tabellen. Hvis de fleste af dataene ikke allerede er til stede, kan indsæt / opdateringsmetoden muligvis være bedre. Hvis de fleste af dataene allerede er til stede, vil opdaterings- / indsætningsmetoden sandsynligvis være bedre. Hvis du ikke er sikker, skal du bare bruge flette, da det er tydeligere.

Ud over at den lige MERGE udsagn er hurtigere, fordi det er en DML-sætning, den kan køres let parallelt for at forbedre ydeevnen yderligere, forudsat at din server kan håndtere den ekstra belastning.

For mere information se:

  • MERGE-erklæringen
  • Forbedringer af MERGE Statement i Oracle Database 10g
  • MERGE

Håber dette hjælper. Hilsen Tim …

Tilbage til toppen.

Articles
Previous Post

7 billige Cape Cod-campingpladser, du vil elske

Next Post

Tostones eller Maduros, hvilken er du?

Skriv et svar Annuller svar

Seneste indlæg

  • Verdens bedste fotografiskoler, 2020
  • Suveræne borgere tager deres regeringsfilosofi til vejene
  • Guide til reparation af stuk reparationer
  • Muckrakers (Dansk)
  • Precision Oncology

Arkiver

  • februar 2021
  • januar 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.