Azure表存储按rowkey性能选择

Sle*_*ith 2 azure-table-storage

说我有2k分区.IE 2k不同的分区键.所有分区都有3个guid rowkey.

为了显示:

分区1 - Guid 1(rowkey) - Guid 2(rowkey) - Guid 3(rowkey)

分区2 - Guid 4(rowkey) - Guid 5(rowkey) - Guid 6(rowkey)

....等等

如果我要在所有分区上查询确切的guid.我会看到什么样的查询性能?直接检索或表扫描?

更多背景信息.我打算有以下架构:

UserEntity
分区键 - 用户Guid
行键 - 用户名

OpenIdEntity
分区键 - 用户指南(与UserEntity相同)
行键 - OpenId

现在,当用户登录时,我需要1)找到开放ID(在这里选择具有1个不同rowkey的记录,不管分区如何)2)查找用户名.(选择具有1个不同分区键的记录.表扫描属性或其他内容.由于分区键已知且分区较小,因此表扫描的影响应该最小)

我担心的是,如果Azure表存储扫描整个表以找到1个不同的rowkey,则步骤1会很慢.

提前致谢.

use*_*559 5

您的担忧是有道理的.对"具有RowKey X的所有实体"形式的查询将导致全表扫描.

如果您知道正在使用的分区键集,则可以发出n个并行查询(每个分区一个).例如,"具有PartitionKey 1和RowKey X的所有实体","具有PartitionKey 2和RowKey X的所有实体"等.并行发布这些将意味着您正在执行n次直接查找,这通常比表扫描快得多.