Junção de transmissão
Hoje, as junções regulares são executadas em um único nó de cluster. A junção de difusão é uma estratégia de execução de junção que distribui a junção por nós de cluster. Essa estratégia é útil quando o lado esquerdo da junção é pequeno (até várias dezenas de MBs). Nesse caso, uma junção de difusão é mais eficaz do que uma junção regular.
Use o operador de pesquisa se o lado direito for menor que o lado esquerdo. O operador de pesquisa é executado na estratégia de difusão por padrão quando o lado direito é menor que o esquerdo.
Observação
Se o lado esquerdo da junção for maior que várias dezenas de MBs, a consulta falhará.
Você pode executar a seguinte consulta para estimar o tamanho do lado esquerdo, em bytes:
leftSide
| summarize sum(estimate_data_size(*))
Se o lado esquerdo da junção for um pequeno conjunto de dados, você poderá executar a junção no modo de difusão usando a seguinte sintaxe (hint.strategy = broadcast):
leftSide
| join hint.strategy = broadcast (factTable) on key
A melhoria de desempenho é mais perceptível em cenários em que a junção é seguida por outros operadores, como summarize
. Consulte a seguinte consulta, por exemplo:
leftSide
| join hint.strategy = broadcast (factTable) on Key
| summarize dcount(Messages) by Timestamp, Key
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de