Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiornamento e inserimento di nuovi dati
È possibile aggiungere in modo efficiente nuovi dati a una tabella esistente utilizzando il MERGE comando. Eseguite un'operazione di unione creando una tabella intermedia e quindi utilizzando uno dei metodi descritti in questa sezione per aggiornare la tabella di destinazione dalla tabella intermedia. Per ulteriori informazioni sul MERGE comando, vedereMERGE.
Esempi di unioneUtilizza un set di dati di esempio per Amazon Redshift, chiamato TICKIT set di dati. Come prerequisito, puoi configurare le TICKIT tabelle e i dati seguendo le istruzioni disponibili in Guida introduttiva alle attività comuni del database. Informazioni più dettagliate sul set di dati di esempio sono disponibili in Database di esempio.
Metodo di unione 1: sostituzione di righe esistenti
Se si sovrascrivono tutte le colonne della tabella di destinazione, il metodo più veloce per eseguire un'unione consiste nel sostituire le righe esistenti. Questa operazione effettua la scansione della tabella di destinazione solo una volta, utilizzando un inner join per eliminare le righe che verranno aggiornate. Una volta eliminate le righe, vengono sostituite insieme alle nuove righe da una singola operazione INSERT dalla tabella di gestione temporanea.
Utilizza questo metodo se tutte le seguenti condizioni sono vere:
-
La tabella di destinazione e la tabella di gestione temporanea contengono le stesse colonne.
-
Intendi sostituire tutti i dati nelle colonne della tabella di destinazione con tutte le colonne della tabella di gestione temporanea.
-
Utilizzerai tutte le righe nella tabella di gestione temporanea nell'unione.
Se uno di questi criteri non è applicabile, utilizzare il metodo Merge 2: Specificare un elenco di colonne senza utilizzareMERGE, descritto nella sezione seguente.
Se non utilizzerai tutte le righe della tabella intermedia, filtra le INSERT istruzioni DELETE and utilizzando una WHERE clausola per escludere le righe che non vengono modificate. Tuttavia, se la maggior parte delle righe della tabella intermedia non partecipa all'unione, si consiglia di eseguire una UPDATE e una INSERT in passaggi separati, come descritto più avanti in questa sezione.
Metodo di unione 2: specificare un elenco di colonne senza utilizzare MERGE
Utilizza questo metodo per aggiornare colonne specifiche nella tabella di destinazione anziché sovrascrivere intere righe. Questo metodo richiede più tempo rispetto al metodo precedente perché richiede un passaggio di aggiornamento aggiuntivo e non utilizza il MERGE comando. Utilizza questo metodo se una delle seguenti condizioni è vera:
-
Non tutte le colonne nella tabella di destinazione devono essere aggiornate.
-
La maggior parte delle righe nella tabella di gestione temporanea non verrà utilizzata negli aggiornamenti.