Share via


Associação de difusão

Atualmente, as associações regulares são executadas num único nó de cluster. A associação de difusão é uma estratégia de execução de associação que distribui a associação por nós de cluster. Esta estratégia é útil quando o lado esquerdo da associação é pequeno (até várias dezenas de MBs). Neste caso, uma associação de difusão é mais eficaz do que uma associação normal.

Utilize o operador de pesquisa se o lado direito for menor do que o lado esquerdo. O operador de pesquisa é executado na estratégia de difusão por predefinição quando o lado direito é mais pequeno do que a esquerda.

Nota

Se o lado esquerdo da associação for maior do que várias dezenas de MBs, a consulta falhará.

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 associação for um pequeno conjunto de dados, poderá executar a associação no modo de difusão com a seguinte sintaxe (hint.strategy = broadcast):

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

A melhoria de desempenho é mais percetível em cenários em que a associação é seguida por outros operadores, como summarize. Veja a seguinte consulta, por exemplo:

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