我在日志分析上运行此查询
Perf
| where TimeGenerated >= ago(5m)
| join kind = inner
(
Heartbeat
| where TimeGenerated >= ago(5m)
| summarize arg_max(TimeGenerated, *)
by SourceComputerId
) on Computer
| summarize arg_max(TimeGenerated, *) by SourceComputerId, CounterName
| extend Indicator = strcat(ObjectName,'-', CounterName)
| summarize dict = make_dictionary
(
pack
(
'WorkspaceId'
, TenantId
, Indicator
, CounterValue
, 'TimeGenerated'
, TimeGenerated
, 'Computer'
, Computer
)
) by SourceComputerId
| evaluate bag_unpack(dict)
但是有点慢。有什么方法可以对其进行优化,我想以最快的速度获得相同的结果。
答案 0 :(得分:1)
要说出join
每条支路的数据大小(例如记录数)和SourceComputerId
列的基数,要说出某种挑战性。
我建议您翻阅query best practices文档,其中涵盖了几种优化技术,看看是否有帮助
更新:明确提及可能对您有用的最佳做法:(供您验证)