Creative Saplings

MERGE Statement (Svenska)

december 16, 2020
No Comments

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

Hem ”Artiklar” 9i ”Här

MERGE uttalande introducerades i Oracle 9i för att villkorligt infoga eller uppdatera data beroende på dess närvaro, en process som också kallas ”upsert”. Uttrycket MERGE minskar tabellskanningar och kan utföra operationen parallellt om det behövs.

  • Syntax
  • Performance

Relaterade artiklar.

  • MERGE-uttalandet
  • MERGE-uttalande Förbättringar i Oracle Database 10g

Syntax

Tänk på följande exempel där data från HR_RECORDS -tabellen slås samman i EMPLOYEES tabell.

Källan kan också vara en fråga.

Prestanda

MERGE -uttalandet är optimerat för att slå samman datauppsättningar snarare än enstaka rader, som visas i exemplet nedan.

Skapa följande testtabeller. Källtabellen innehåller alla rader från ALL_OBJECTS vy, medan måltabellen innehåller ungefär hälften av raderna.

Följande kod jämför prestanda för fyra sammanslagningsoperationer. Den första använder det raka MERGE -uttrycket. Den andra använder också uttalandet MERGE, men rad för rad. Den tredje utför en uppdatering och infogar villkorligt raden om uppdateringen berör noll rader. Den fjärde infogar raden och utför sedan en uppdatering om infogningen misslyckas med ett duplikatvärde på indexundantaget.

Utgången visar att det raka MERGE -uttrycket är en order snabbare än närmaste rival. Uppdateringen / infogningen utför nästan dubbelt så snabbt som infogningen / uppdateringen och jämnar ut rad-för-rad MERGE.

Jämför bara uppdateringen / infogningen och sätta in / uppdatera metoder isolerat måste vi komma ihåg att jämförelserna kommer att variera beroende på data i tabellen. Om de flesta uppgifterna inte redan finns kan infoga / uppdatera metoden vara bättre. Om de flesta uppgifter redan finns kommer uppdaterings- / infogningsmetoden troligen att vara bättre. Om du är osäker, använd bara sammanfoga eftersom det är tydligare.

Förutom att det raka MERGE -uttrycket är snabbare, eftersom det är ett DML-uttalande kan det körs enkelt parallellt för att förbättra prestandan ytterligare, förutsatt att din server kan hantera den extra belastningen.

För mer information se:

  • MERGE-uttalandet
  • MERGE Statement Enhancements in Oracle Database 10g
  • MERGE

Hoppas det hjälper. Hälsningar Tim …

Tillbaka till början.

Articles
Previous Post

7 billiga Cape Cod-campingar du kommer att älska

Next Post

Tostones eller Maduros, vilken är du?

Lämna ett svar Avbryt svar

Senaste inläggen

  • Världens bästa fotoskolor, 2020
  • Suveräna medborgare tar sin regeringsfilosofi mot vägarna
  • Guide för reparation av stuckaturer
  • Muckrakers (Svenska)
  • Precision Oncology (Svenska)

Arkiv

  • 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.