Широковещательное соединение
В настоящее время регулярные соединения выполняются на одном узле кластера. Широковещательное соединение — это стратегия выполнения соединения, которая распределяет соединение по узлам кластера. Эта стратегия полезна, если левая часть соединения небольшая (до нескольких десятков МБ). В этом случае широковещательное соединение является более производительным, чем обычное соединение.
Используйте оператор поиска , если правая сторона меньше левой. Оператор поиска по умолчанию выполняется в широковещательной стратегии, если правая сторона меньше левой.
Примечание
Если левая часть соединения превышает несколько десятков МБ, запрос завершится ошибкой.
Чтобы оценить размер левой части в байтах, можно выполнить следующий запрос:
leftSide
| summarize sum(estimate_data_size(*))
Если слева от соединения находится небольшой набор данных, вы можете запустить соединение в широковещательном режиме, используя следующий синтаксис (hint.strategy = broadcast):
leftSide
| join hint.strategy = broadcast (factTable) on key
Повышение производительности более заметно в сценариях, где за соединением следуют другие операторы, такие как summarize
. Пример см. в следующем запросе:
leftSide
| join hint.strategy = broadcast (factTable) on Key
| summarize dcount(Messages) by Timestamp, Key
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по