首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >日志分析查询优化

日志分析查询优化
EN

Stack Overflow用户
提问于 2019-04-04 22:47:10
回答 1查看 392关注 0票数 0

我在日志分析上运行这个查询。

代码语言:javascript
运行
复制
                                        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)

但有点慢。是否有任何方法来优化它,我希望最快可能的查询达到相同的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-04 22:54:42

如果不提及每个join腿的数据大小(例如记录计数)和SourceComputerId列的基数,这有点困难。

我建议您浏览一下查询最佳实践文档,该文档涵盖了几种优化技术,看看这是否有帮助

更新:明确提到对您的情况可能有帮助的最佳实践:(供您验证)

  • 当使用join运算符时-选择行较少的表作为第一个表(最左边)。
  • 当左侧较小(最高可达100,000条记录)且右侧较大时,建议使用hint.strategy=broadcast。
  • 当连接的两边都太大,连接键具有很高的基数时,建议使用hint.strategy=shuffle。
  • 当按汇总操作符的键组具有较高的基数(最佳实践:超过100万)时,建议使用hint.strategy=shuffle。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55525972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档