Broadcast-join

Tegenwoordig worden reguliere joins uitgevoerd op één clusterknooppunt. Broadcast join is een uitvoeringsstrategie van join die de join distribueert over clusterknooppunten. Deze strategie is handig wanneer de linkerkant van de join klein is (tot enkele tientallen MB's). In dit geval presteert een broadcast join beter dan een gewone join.

Gebruik de opzoekoperator als de rechterkant kleiner is dan de linkerkant. De opzoekoperator wordt standaard uitgevoerd in de broadcast-strategie wanneer de rechterkant kleiner is dan de linkerkant.

Notitie

Als de linkerkant van de join groter is dan enkele tientallen MB's, mislukt de query.

U kunt de volgende query uitvoeren om de grootte van de linkerkant te schatten, in bytes:

leftSide
| summarize sum(estimate_data_size(*))

Als de linkerkant van de join een kleine gegevensset is, kunt u join uitvoeren in de broadcast-modus met behulp van de volgende syntaxis (hint.strategy = broadcast):

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

De prestatieverbetering is merkbaar in scenario's waarin de join wordt gevolgd door andere operators, zoals summarize. Zie de volgende query bijvoorbeeld:

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