gpt4 book ai didi

azure - KQL 性能 - 总结所有或使用任何

转载 作者:行者123 更新时间:2023-12-02 08:22:03 26 4
gpt4 key购买 nike

我有两个选项来查询我的数据,从性能角度来看,哪一个是首选?

我的事件记录具有唯一的 session ID、设备名称以及有关设备如何发送事件的更多详细信息。
我想计算 session 中的事件数。并获取每个计数的设备信息。

选项 1:将所有设备列添加到 GroupExpression

Events | summerize count() by sessionId, deviceName, deviceMac, ...

选项 2:由于 sessionId 对于所有设备都是唯一的,因此我可以从 sessionId 组中获取任何设备名称。

Events | summerize count(), deviceName=any(deviceName), deviceMac=any(deviceMac), ... by sessionId

这两个选项之间有性能差异吗?

我已经在我的数据集(约 1M 条记录)上尝试过此操作,但没有发现执行时间有任何重大差异。谢谢

最佳答案

首选第二个选项,因为聚合键较小,并且聚合键的大小会影响内存消耗,并可能影响 CPU。

作为旁注,您的查询不会计算每个设备的事件,而是按 session ID 计算,如果您希望按设备计算,则设备应该是“by”子句的一部分,并且 session ID 不应该是聚合。

如果您想按设备查找不同的 session 计数,请使用以下命令:

 Events
| summarize dcount(sessionId) by deviceName

关于azure - KQL 性能 - 总结所有或使用任何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67484908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com