在没有 partitionkey 和 rowkey 的情况下查询 azure table
Querying azure table without partitionkey and rowkey
我有 Azure table 调用用户,其中几个字段与用户相关,我将 PartitionKey 作为 UserId,将 RowKey 作为 CompanyId,我想通过电子邮件字段查询 table,这不是一个PartionKey or RowKey,是否可以这样查询table?
如果是那么最好不用PartitionKey和RowKey进行查询
您可以在不使用 PartitionKey
或 RowKey
的情况下进行查询,并且 table 服务不会抛出任何错误,但是请记住,这将进行完整的 table 扫描从第一个 PartitionKey/RowKey 组合开始,直到找到匹配的实体。
如果您的 table 很小,这可能不是问题。但是,如果您的 table 变大,这将是一个问题。您可能不会取回任何数据,而只会取回延续令牌,您需要使用该延续令牌再次查询 table。
如果您想查询电子邮件字段,我强烈建议复制您的数据,以便电子邮件字段成为 PartitionKey
。
不确定您是否已经读过这篇文章,但我强烈建议您阅读 Azure Table Storage Design Guide
:https://azure.microsoft.com/en-in/documentation/articles/storage-table-design-guide/。
可以,但是会进行全盘扫描,这是使用 table 存储的最坏情况。
你应该改变你的设计,你应该至少使用一个键。
您可以为您的公司创建存储 tables 并使您的电子邮件成为分区密钥的一部分。
注:图片由本article
拍摄
我有 Azure table 调用用户,其中几个字段与用户相关,我将 PartitionKey 作为 UserId,将 RowKey 作为 CompanyId,我想通过电子邮件字段查询 table,这不是一个PartionKey or RowKey,是否可以这样查询table?
如果是那么最好不用PartitionKey和RowKey进行查询
您可以在不使用 PartitionKey
或 RowKey
的情况下进行查询,并且 table 服务不会抛出任何错误,但是请记住,这将进行完整的 table 扫描从第一个 PartitionKey/RowKey 组合开始,直到找到匹配的实体。
如果您的 table 很小,这可能不是问题。但是,如果您的 table 变大,这将是一个问题。您可能不会取回任何数据,而只会取回延续令牌,您需要使用该延续令牌再次查询 table。
如果您想查询电子邮件字段,我强烈建议复制您的数据,以便电子邮件字段成为 PartitionKey
。
不确定您是否已经读过这篇文章,但我强烈建议您阅读 Azure Table Storage Design Guide
:https://azure.microsoft.com/en-in/documentation/articles/storage-table-design-guide/。
可以,但是会进行全盘扫描,这是使用 table 存储的最坏情况。
你应该改变你的设计,你应该至少使用一个键。 您可以为您的公司创建存储 tables 并使您的电子邮件成为分区密钥的一部分。
注:图片由本article
拍摄