Join di trasmissione

Oggi, i join regolari vengono eseguiti in un singolo nodo del cluster. Il join di trasmissione è una strategia di esecuzione di join che distribuisce il join sui nodi del cluster. Questa strategia è utile quando il lato sinistro del join è piccolo (fino a diverse decine di MB). In questo caso, un join di trasmissione è più efficiente di un join regolare.

Usare l'operatore di ricerca se il lato destro è più piccolo del lato sinistro. L'operatore di ricerca viene eseguito nella strategia di trasmissione per impostazione predefinita quando il lato destro è inferiore a sinistra.

Nota

Se il lato sinistro del join è maggiore di diverse decine di MB, la query avrà esito negativo.

È possibile eseguire la query seguente per stimare le dimensioni del lato sinistro, in byte:

leftSide
| summarize sum(estimate_data_size(*))

Se il lato sinistro del join è un set di dati di piccole dimensioni, è possibile eseguire join in modalità trasmissione usando la sintassi seguente (hint.strategy = broadcast):

leftSide 
| join hint.strategy = broadcast (factTable) on key

Il miglioramento delle prestazioni è più evidente negli scenari in cui il join è seguito da altri operatori come summarize. Vedere la query seguente, ad esempio:

leftSide 
| join hint.strategy = broadcast (factTable) on Key
| summarize dcount(Messages) by Timestamp, Key