微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在azure表存储上的分区键上使用“大于”会导致全表扫描吗?

如何解决在azure表存储上的分区键上使用“大于”会导致全表扫描吗?

我目前使用的表存储可能很快包含数十亿个实体。像PartitionKey gt 'KNownExclusiveStartPartition'这样的查询会导致表扫描,还是Azure表存储可以使用索引快速找到结果?

一个后续问题是,是否在某处记录了这种行为(哪些查询将导致表扫描以及哪种查询有效)?我知道使用精确的分区(甚至分区+行)值进行查询是最好的选择,但是有关如何在内部建立实体索引的详细信息将是很不错的。

是否在某处记录了如下表(或类似内容):
大O只不过是我想找到前1个值

  • PartitionKey eq 'X' and RowKey eq 'Y'-> O(1)
  • PartitionKey eq 'X'-> O(1)吗?
  • PartitionKey gt 'X'-> O(1)吗?
  • PartitionKey lt 'X'->吗?
  • PartitionKey gt 'X' and RowKey lt 'Y'->吗?

解决方法

如果您在查询中指定了PartitionKey,则无论您使用的是gt还是{{,这至少是一个partition scan(取决于查询中如何使用RowKey)。 1}}分区键运算符。

除非未指定PartitionKey,否则它是表扫描。

对于“是否在某处记录了如下表格(或类似内容)”,没有文档可以反映出来。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。