我有一个包含超过一百万个条目的 Azure 表,我试图以编程方式执行大约 300,000 个查询C#
,以便将一些数据传输到另一个系统。目前,当我阅读具有分区和行键的文件时,我正在执行以下操作:
while (!reader.EndOfStream)
{
// parse the reader to get partition and row keys
string currentQuery = TableQuery.CombineFilters(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partKey), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, rowKey));
TableQuery<MyEntity> query = new TableQuery<MyEntity>().Where(currentQuery);
foreach (MyEntity entity in table.ExecuteQuery(query))
{
Console.WriteLine(entity.PartitionKey + ", " + entity.RowKey + ", " + entity.Timestamp.DateTime);
}
Thread.Sleep(25);
}
这需要很长时间才能完成(5 个多小时)。从我所见,查询平均需要大约 200 毫秒。我对 Azure 有点陌生,所以我认为我做错了什么。我该如何改进它?