查询没有partitionkey和rowkey的azure表

时间:2016-04-06 15:01:24

标签: c# azure azure-storage azure-table-storage azure-tablequery

我有Azure表称为用户,其中有几个与用户相关的字段,我有PartitionKey作为UserId,RowKey作为CompanyId,我想通过Email字段查询表,而不是PartionKey或RowKey,是否可以查询像这样的桌子?

如果是,那么在没有PartitionKey和RowKey

的情况下查询是件好事

2 个答案:

答案 0 :(得分:6)

您可以在不使用PartitionKeyRowKey的情况下进行查询,并且表服务不会抛出任何错误,但请记住,这将从第1个PartitionKey / RowKey组合开始执行全表扫描,直到时间找到匹配的实体。

如果你的桌子很小,这可能不是问题。但是,如果你的桌子变得很大,这将是一个问题。您可能没有获得任何数据,只有连续令牌,您需要使用该延续令牌再次查询您的表。

如果您想查询电子邮件字段,我强烈建议您复制数据,以便电子邮件字段成为PartitionKey

不确定您是否已阅读此内容,但我强烈建议您阅读Azure Table Storage Design Guidehttps://azure.microsoft.com/en-in/documentation/articles/storage-table-design-guide/

答案 1 :(得分:0)

Performance by query

你可以,但它将是全扫描,这是使用表存储的最坏情况。

您应该更改设计,并且至少应使用其中一个键。 您可以为公司创建存储表,并使您的电子邮件成为部分密钥。

注意:此article

拍摄的图像