Creative Saplings

MERGE utasítás

december 16, 2020
No Comments

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

Főoldal “Cikkek” 9i “Itt

A MERGE utasítást az Oracle 9i-ben vezették be, hogy feltételesen beillesszenek vagy frissítsenek az adatok a jelenlététől függően egy folyamat, amelyet “upsert” néven is ismernek. Az MERGE utasítás csökkenti a táblázatok beolvasását, és szükség esetén párhuzamosan is elvégezheti a műveletet.

  • Szintaxis
  • Teljesítmény

Kapcsolódó cikkek.

  • A MERGE utasítás
  • MERGE utasítás fejlesztések Oracle Database 10g

Szintaxis

Tekintsük a következő példát, ahol a HR_RECORDS táblázat adatai beolvadnak a EMPLOYEES táblázat.

A forrás lekérdezés is lehet.

Teljesítmény

A MERGE utasítás az adatsorok összevonására van optimalizálva, nem pedig egyetlen sorra, amint az az alábbi példában látható.

Hozza létre a következő teszttáblákat. A forrástábla a ALL_OBJECTS view, míg a céltábla a sorok körülbelül felét tartalmazza.

A következő kód négy egyesítési művelet teljesítményét hasonlítja össze. Az első az egyenes MERGE utasítást használja. A második az MERGE utasítást is használja, de soronként. A harmadik frissítést hajt végre, és feltételesen beszúrja a sort, ha a frissítés nulla sort érint. A negyedik beszúrja a sort, majd végrehajt egy frissítést, ha a beillesztés meghiúsul az indexkivétel duplikált értékével.

A kimenet az egyenes MERGE utasítás parancs nagyságrenddel gyorsabb, mint legközelebbi riválisa. A frissítés / beillesztés a beillesztés / frissítés sebességének majdnem kétszerese, a kiegyenlítés pedig soronként MERGE.

Csak a frissítés / beillesztés összehasonlítása és a beszúrás / frissítés módszereit külön-külön, emlékeznünk kell arra, hogy az összehasonlítások a táblázatban szereplő adatoktól függően változnak. Ha az adatok nagy része még nem lesz jelen, akkor a beszúrás / frissítés megközelítés jobb lehet. Ha az adatok nagy része már megvan, a frissítés / beillesztés megközelítés valószínűleg jobb lesz. Ha nem biztos benne, akkor egyszerűen használja az egyesítést, mivel ez világosabb.

Amellett, hogy az egyenes MERGE utasítás gyorsabb, mert ez egy DML utasítás, könnyen párhuzamosan futtatható a teljesítmény további javítása érdekében, feltéve, hogy a szerver képes kezelni az extra terhelést.

További információ:

  • A MERGE utasítás
  • MERGE utasításjavítások az Oracle Database 10g-ben
  • MERGE

Remélem, hogy ez segít. Üdvözlettel Tim …

Vissza a tetejére.

Articles
Previous Post

7 szeretett olcsó Cape Cod kemping

Next Post

Tostones vagy Maduros, melyik vagy te?

Vélemény, hozzászólás? Kilépés a válaszból

Legutóbbi bejegyzések

  • A világ legjobb fotóiskolái, 2020
  • A szuverén polgárok kormányellenes filozófiájukat viszik az utakra
  • Stukkó javítási költség útmutató
  • Muckrakers (Magyar)
  • Precíziós onkológia

Archívum

  • 2021 február
  • 2021 január
  • 2020 december
  • 2020 november
  • 2020 október
  • 2020 szeptember
  • 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.