Trasformazione Merge join
Data aggiornamento: 5 dicembre 2005
La trasformazione Merge join restituisce un output generato unendo in join due set di dati ordinati, tramite un join di tipo FULL, LEFT o INNER. È ad esempio possibile utilizzare un join di tipo LEFT per unire in join una tabella che include informazioni sui prodotti con una tabella in cui sono elencati i relativi paesi di produzione. Il risultato è costituito da una tabella in cui sono elencati tutti i prodotti e i relativi paesi di origine. Per ulteriori informazioni, vedere Utilizzo dei join.
Per configurare la trasformazione Merge join, procedere nel modo seguente:
Specificare se il join è di tipo FULL, LEFT o INNER.
Specificare le colonne utilizzate dal join.
Specificare se la trasformazione considera uguali tutti i valori Null.
[!NOTA] Se i valori Null non vengono considerati uguali, verranno gestiti come nel Motore di database di SQL Server.
La trasformazione Merge join richiede che entrambi gli input siano ordinati e che le colonne da unire in join abbiano metadati corrispondenti. Non è ad esempio possibile unire in join una colonna con tipo di dati numeric a una colonna con tipo di dati character. Se i dati sono di tipo string, la lunghezza della colonna nel secondo input dovrà essere minore o uguale a quella della colonna nel primo input, alla quale verrà unita.
I dati possono essere ordinati impostando opzioni di ordinamento sugli output dell'origine o su altri componenti del flusso di dati a monte oppure inserendo una trasformazione Ordinamento nel flusso di dati, prima della trasformazione Merge join. Se le opzioni di ordinamento indicano che i dati sono ordinati, mentre in realtà non lo sono, la trasformazione Merge join restituirà risultati imprevisti.
Questa trasformazione include due input e un output. Non supporta un output degli errori.
Regolazione dei buffer
La trasformazione Merge join include la proprietà MaxBuffersPerInput, che specifica il numero massimo dei buffer che possono essere contemporaneamente attivi per ogni input. È possibile utilizzare questa proprietà per ottimizzare la quantità di memoria utilizzata dai buffer della trasformazione e, di conseguenza, le prestazioni della trasformazione. Aumentando il numero dei buffer aumenta anche la quantità di memoria utilizzata dalla trasformazione, migliorando le prestazioni. Il valore predefinito di MaxBuffersPerInput è 5, ovvero il numero di buffer ottimale nella maggior parte degli scenari. Per ottimizzare le prestazioni può essere necessario utilizzare un numero di buffer lievemente diverso, ad esempio 4 o 6. Se possibile, è consigliabile evitare di utilizzare un numero di buffer molto basso. Se ad esempio si imposta MaxBuffersPerInput su 1 anziché su 5, le prestazioni subiranno un calo significativo. È inoltre consigliabile evitare di impostare MaxBuffersPerInput su 0, poiché questo valore impedisce la regolazione e, a seconda del carico di dati e della quantità di memoria disponibile, è possibile che l'esecuzione del pacchetto non venga completata.
Per evitare che si verifichi un deadlock, la trasformazione Merge join può aumentare temporaneamente il numero dei buffer utilizzati oltre il valore specificato da MaxBuffersPerInput. Dopo la risoluzione della condizione di deadlock viene ripristinato il valore configurato di MaxBuffersPerInput.
Configurazione della trasformazione Merge join
È possibile impostare le proprietà tramite Progettazione SSIS o a livello di programmazione.
Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor trasformazione Merge join, vedere Editor trasformazione Merge join.
Per ulteriori informazioni sulle proprietà che è possibile impostare a livello di programmazione, fare clic su uno degli argomenti seguenti:
Per ulteriori informazioni sulle procedure per l'impostazione delle proprietà, fare clic su uno degli argomenti seguenti:
- Procedura: Estensione di un set di dati tramite la trasformazione Merge join
- Procedura: Impostazione delle proprietà di un componente di un flusso di dati utilizzando l'editor del componente
- Procedura: Impostazione delle proprietà di un componente di un flusso di dati nella finestra Proprietà
- Procedura: Impostazione di attributi di ordinamento su un output
Vedere anche
Concetti
Trasformazione Unione
Trasformazione Unione input multipli
Trasformazioni di Integration Services
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|