gpt4 book ai didi

azure - 什么更快 : ranged queries on partition keys or individual equality queries on PK's in Azure table Storage?

转载 作者:行者123 更新时间:2023-12-03 04:33:35 25 4
gpt4 key购买 nike

我需要对表存储运行查询。我需要从大约 10 个连续分区键中获取特定数据。更准确地说,我的 Azure 表包含 PK/RK 模式,因此每个 PK 大约有 300 行。在每个 PK 中,我需要检索大约 100 行。

我可以像这样进行 1 个调用:

                var query = table.CreateQuery<Item>()
.Where(n => string.Compare(n.PartitionKey, fromPk, StringComparison.Ordinal) >= 0 &&
string.Compare(n.PartitionKey, toPk, StringComparison.Ordinal) <= 0 &&
string.Compare(n.RowKey, fromRk, StringComparison.Ordinal) >= 0 &&
string.Compare(n.RowKey, endRk, StringComparison.Ordinal) <= 0
).AsTableQuery();

或者对此进行了 10 次调用:

                var query = table.CreateQuery<Item>()
.Where(n => string.Compare(n.PartitionKey, pk, StringComparison.Ordinal) == 0 &&
string.Compare(n.RowKey, fromRk, StringComparison.Ordinal) >= 0 &&
string.Compare(n.RowKey, endRk, StringComparison.Ordinal) <= 0
).AsTableQuery();

什么更好?

最佳答案

我自己没有对其进行过分析,我猜测在某些情况下差异可能非常小,但单个查询可能是可行的方法。

单个查询相当高效,但由于您拥有的数据量(结果集中大约有 3000 行)以及您一次最多获取 1000 行的事实,这将导致至少 3对底层 API 的调用。

各个查询可能会更快,并且您可能不会获得继续 token ,并且您可以并行运行它们。如果您无法并行运行查询,我预计请求的延迟会压倒任何查询性能差异。

关于azure - 什么更快 : ranged queries on partition keys or individual equality queries on PK's in Azure table Storage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32003808/

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