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