Creative Saplings

Declarație MERGE

decembrie 16, 2020
No Comments

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

Acasă „Articole” 9i „Aici

Instrucțiunea MERGE a fost introdusă în Oracle 9i pentru a insera sau actualiza condiționat date în funcție de prezența sa, un proces cunoscut și sub denumirea de „upsert”. Instrucțiunea MERGE reduce scanările tabelelor și poate efectua operațiunea în paralel, dacă este necesar.

  • Sintaxă
  • Performanță

Articole corelate.

  • Declarația MERGE
  • Îmbunătățirile declarației MERGE în Oracle Database 10g

Sintaxă

Luați în considerare următorul exemplu în care datele din tabelul HR_RECORDS sunt îmbinate în EMPLOYEES tabel.

Sursa poate fi de asemenea o interogare.

Performanță

MERGE este optimizată pentru îmbinarea seturilor de date, mai degrabă decât a rândurilor simple, așa cum se arată în exemplul de mai jos.

Creați următoarele tabele de testare. Tabelul sursă conține toate rândurile din ALL_OBJECTS view, în timp ce tabelul de destinație conține aproximativ jumătate din rânduri.

Următorul cod compară performanța a patru operații de îmbinare. Primul folosește declarația dreaptă MERGE. Al doilea folosește, de asemenea, instrucțiunea MERGE, dar într-un mod rând cu rând. Al treilea efectuează o actualizare și introduce condiționat rândul dacă actualizarea atinge zero rânduri. Al patrulea inserează rândul, apoi efectuează o actualizare dacă inserarea eșuează cu o valoare duplicată la excepția indexului.

Ieșirea arată declarația dreaptă MERGE este o ordine de mărime mai rapid decât cel mai apropiat rival al său. Actualizarea / inserarea efectuează aproape de două ori viteza de inserare / actualizare și uniformizarea efectuează rând cu rând MERGE.

Doar comparând actualizarea / inserarea și metodele de inserare / actualizare izolate, trebuie să ne amintim că comparațiile vor varia în funcție de datele din tabel. Dacă majoritatea datelor nu vor fi deja prezente, abordarea insert / update poate fi mai bună. Dacă majoritatea datelor sunt deja prezente, abordarea de actualizare / inserare va fi probabil mai bună. Dacă nu sunteți sigur, utilizați doar merge, deoarece este mai clar.

În plus față de declarația directă MERGE fiind mai rapidă, deoarece este o instrucțiune DML pe care o poate rulați ușor în paralel pentru a îmbunătăți performanța, cu condiția ca serverul dvs. să poată gestiona sarcina suplimentară.

Pentru mai multe informații, consultați:

  • Declarația MERGE
  • Îmbunătățiri ale declarației MERGE în baza de date Oracle 10g
  • MERGE

Sper că acest lucru vă va ajuta. Cu respect Tim …

Înapoi la început.

Articles
Previous Post

7 campinguri ieftine din Cape Cod pe care le veți iubi

Next Post

Tostones sau Maduros, care ești?

Lasă un răspuns Anulează răspunsul

Articole recente

  • Cele mai bune școli de fotografie din lume, 2020
  • Cetățenii suverani își duc filosofia anti-guvernamentală la drumuri
  • Ghid de costuri de reparații stuc
  • Muckrakers (Română)
  • Oncologie de precizie

Arhive

  • februarie 2021
  • ianuarie 2021
  • decembrie 2020
  • noiembrie 2020
  • octombrie 2020
  • septembrie 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.