~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());