我有一个带有~10,000 PartitionKey (PK) 的表,每个 PK 有~500,000 RowKey (RK) 作为“yyyyMMddHHmmss”
短的
当我尝试在没有 PK 的情况下使用“yyyyMMdd”格式的 RK 检索记录时,需要永远(字面意思)才能获得结果。
长
我的查询主要是 PK + RK 不幸的是,有些查询只能由 RK 检索。我知道在没有 PK 的情况下检索数据不是最好的方法,但我必须这样做。看起来这在现实生活中根本不是一种选择。
我能想到的唯一方法是保留另一个表来保存基于 RK 的 PK,我真的不想保留参考表,除非它绝对是处理这个问题的唯一方法)
代码
CloudStorageAccount account = CloudStorageAccount.DevelopmentStorageAccount;
CloudTableClient tableClient = account.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference("test");
table.CreateIfNotExists();
var query = new TableQuery<TestEntity>().Where("(RowKey ge '20050103') and (RowKey lt '20050104')");
var result = table.ExecuteQuery(query);
Debug.WriteLine(result.Count());