Creative Saplings

Istruzione MERGE

Dicembre 16, 2020
No Comments

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

Home “Articoli” 9i “Qui

L’istruzione MERGE è stata introdotta in Oracle 9i per inserire o aggiornare in modo condizionale dati a seconda della loro presenza, un processo noto anche come “upsert”. L’istruzione MERGE riduce le scansioni delle tabelle e può eseguire l’operazione in parallelo, se necessario.

  • Sintassi
  • Prestazioni

Articoli correlati.

  • L’istruzione MERGE
  • Miglioramenti dell’istruzione MERGE in Oracle Database 10g

Sintassi

Considera il seguente esempio in cui i dati della tabella HR_RECORDS vengono uniti nella EMPLOYEES tabella.

La fonte può anche essere una query.

Prestazioni

Il MERGE è ottimizzata per unire set di dati, piuttosto che singole righe, come mostrato nell’esempio seguente.

Crea le seguenti tabelle di test. La tabella di origine contiene tutte le righe del ALL_OBJECTS view, mentre la tabella di destinazione contiene circa la metà delle righe.

Il codice seguente confronta le prestazioni di quattro operazioni di unione. Il primo utilizza l’istruzione MERGE diretta. Il secondo utilizza anche l’istruzione MERGE, ma in modo riga per riga. Il terzo esegue un aggiornamento e inserisce la riga in modo condizionale se l’aggiornamento tocca zero righe. Il quarto inserisce la riga, quindi esegue un aggiornamento se l’inserimento non riesce con un valore duplicato nell’eccezione dell’indice.

L’output mostra che l’istruzione MERGE è un ordine di grandezza più veloce del suo rivale più vicino. L’aggiornamento / inserimento esegue quasi il doppio della velocità dell’inserimento / aggiornamento e persino esegue il MERGE riga per riga.

Basta confrontare l’aggiornamento / inserimento e i metodi di inserimento / aggiornamento in isolamento, dobbiamo ricordare che i confronti varieranno a seconda dei dati nella tabella. Se la maggior parte dei dati non sarà già presente, l’approccio di inserimento / aggiornamento potrebbe essere migliore. Se la maggior parte dei dati è già presente, l’approccio di aggiornamento / inserimento sarà probabilmente migliore. Se non sei sicuro, usa semplicemente merge perché è più chiaro.

Oltre alla semplice istruzione MERGE è più veloce, perché è un’istruzione DML che può essere eseguito facilmente in parallelo per migliorare ulteriormente le prestazioni, a condizione che il server sia in grado di gestire il carico aggiuntivo.

Per ulteriori informazioni vedere:

  • L’istruzione MERGE
  • Miglioramenti all’istruzione MERGE in Oracle Database 10g
  • MERGE

Spero che questo aiuti. Saluti Tim …

Torna all’inizio.

Articles
Previous Post

7 campeggi economici a Cape Cod che adorerai

Next Post

Tostones o Maduros, quale sei?

Lascia un commento Annulla risposta

Articoli recenti

  • Best Photography Schools In The World, 2020
  • I cittadini sovrani portano la loro filosofia antigovernativa sulle strade
  • Guida ai costi di riparazione dello stucco
  • Muckrakers (Italiano)
  • Oncologia di precisione

Archivi

  • Febbraio 2021
  • Gennaio 2021
  • Dicembre 2020
  • Novembre 2020
  • Ottobre 2020
  • Settembre 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.