我目前正在学习Azure存储表。我从 http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-table-storage-20/ 学到了一些东西
这似乎是一个键/值对存储。它具有分区键、行键,最多包含 252 个属性。
从上面的链接来看,它只能通过row key来过滤查询结果。我们可以通过过滤其中一个属性来查询结果吗?
我的项目是将我们当前的sql数据库迁移到Azure存储表。
当前 SQL 数据库有三列
a 列、b 列、c 列
目前我们的函数需要支持对a列和b列进行过滤查询。当我们迁移到Azure存储表时,我们需要保留该功能
我认为我们只能将两列中的一列设置为行键,其他列应该在Azure表的属性中。另外,我不认为列 b 可以作为行键,因为它无法唯一标识我们之前的 sql 表中的行(我的理解是否正确?)
那么,如果我在将表迁移到 Azure 存储时仅将 a 列设置为行键,将 b 列设置为属性,我可以同时按 a 列和 b 列进行查询吗?如果没有,有什么建议可以解决吗?
非常感谢
最佳答案
是的,您可以按任何属性进行过滤。但请记住,只有 PartitionKey 和 RowKey 被索引,因此任何不至少包含 PartitionKey 的查询操作都将导致全表扫描。如果您的表包含大量实体,这将成为一个问题。
关于c# - Microsoft Azure存储表查询结果可以按属性值过滤吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24113477/