Azure表存储查询性能

时间:2017-07-13 08:57:49

标签: azure query-performance azure-table-storage

如果您知道确切的分区密钥和RowKey,那么表存储查询的性能会有很大差异吗?

我们使用RowKey的日期时间并获取最新的条目,我们检索一天的所有内容,然后在代码中对其进行排序。

PartitionKey eq '123456' and RowKey ge '20170713000000000' and RowKey le '20170714000000000' 

这会更快地从表存储中检索记录吗?

PartitionKey eq '123456' and RowKey eq '20170713101000000' 

1 个答案:

答案 0 :(得分:5)

  

PartitionKey eq'123456'和RowKey eq'20170713101000000'

此查询肯定会比

更快
  

PartitionKey eq'123456'和RowKey ge'20170713000000000'和RowKey   le'20170714000000000'

第一个查询使用了所有可用的索引(PartitionKeyRowKey),并且是一个点查询。

第二个查询也很有效(尽管没有第一个查询那么多),因为它只在单个分区中搜索,但它正在执行所谓的Partition Scan。此查询将转到所需的分区,然后搜索匹配的RowKey值。随着分区中实体数量的增加,您会注意到第二个查询中的性能下降。