如何通过Kusto purge命令的operationId获取实际删除行数?
如何通过Kusto purge操作返回的operationId获取实际删除行数
可以直接通过系统内置的操作查询命令拿到准确的实际删除行数,不需要依赖purge执行前的预估查询结果,操作方法如下:
- 执行purge命令拿到返回的
operationId后,等待purge异步执行完成,purge是后台异步运行的硬删除操作,刚返回operationId时操作通常还在执行过程中。 - 在purge操作所属的数据库下执行如下查询,替换为你自己的operationId即可:
.show operations | where OperationId == "<替换为你的purge操作返回的operationId>" | where OperationKind == "Purge"
- 当返回结果中
State字段值为Completed时,展开Properties字段,其中RowCount对应的数值就是本次purge操作最终实际删除的准确数据行数,不是执行前查询得到的预估值。
注意:不要在操作状态为
InProgress时读取RowCount值,这个阶段返回的是执行过程中的临时统计值,和最终实际删除行数会有偏差,必须等操作完全落地为完成状态再取数。
如果是删除整表的purge操作,RowCount会返回删除前该表的全量行数,统计逻辑和按谓词删除行的场景一致。
内容的提问来源于stack exchange,提问作者jing
相关产品推荐
相关产品推荐

