如果您知道确切的分区键和行键,表存储查询的性能会有很大差异吗?
我们使用 RowKey 的日期时间,为了获取最新条目,我们检索一天的所有内容,然后在代码中对其进行排序。
PartitionKey eq '123456' and RowKey ge '20170713000000000' and RowKey le '20170714000000000'
这会更快地从表存储中检索记录吗?
PartitionKey eq '123456' and RowKey eq '20170713101000000'
123456' 和 RowKey eq '20170713101000000'
这个查询肯定会比
PartitionKey eq '123456' and RowKey ge '20170713000000000' and RowKey le '20170714000000000'
第一个查询利用所有可用的索引(PartitionKey
和RowKey
(,是一个点查询。
第二个查询也很有效(虽然不如第一个查询那么高效(,因为它只在单个分区中搜索,但它正在执行所谓的Partition Scan
。此查询将转到所需的分区,然后搜索匹配的RowKey
值。随着分区中实体数量的增加,您会注意到第二个查询中的性能下降。