0
我有一個有超過一百萬個條目的Azure表,我試圖以編程方式在C#
中執行大約300,000個查詢,以便將一些數據傳輸到另一個系統。目前,我做以下,我通過具有分區和行密鑰的文件中讀取:執行大量Azure表查詢的最佳方法?
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很陌生,所以我認爲我做錯了什麼。我該如何改進它?
建議:從Azure中導出數據庫並將其放到本地SQL Server上。然後運行你的代碼,看看它是否更快。 – mrunion
@mrunion - 這個建議的確與回答這個問題無關。 –