广播联接

如今,常规联接在单个集群节点上执行。 广播联接是一种联接执行策略,该策略将联接分布在各群集节点上。 在联接的左侧较小(最多几十 MB)时,此策略很有用。 在这种情况下,广播联接比常规联接的性能更高。 运行以下查询,获取左侧的估计大小(以字节为单位):

lookupSubQuery
| summarize sum(estimate_data_size(*))

如果联接的左侧是一个小型数据集,可使用以下语法 (hint.strategy = broadcast) 在广播模式下运行联接:

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

在联接后跟其他运算符(如 summarize)的情况下,性能改进将更加明显。 例如,在以下查询中:

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