我正面临 azure 表存储的问题。我需要查询的存储表中有数十万条数据。
第一种方法是检索所有数据,然后根据要求进行查询,但这需要太多时间。
第二种方法是如果我直接使用查询从表存储中获取过滤数据怎么办
因此,根据我的理解,第二种方法是最好的,但我无法正确查询。如何从 Azure 表存储中检索最后一个条目,在此我也尝试 MAX 并按功能排序,但它对我不起作用。
不运行代码:
var query2 = new TableQuery().Where(
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, patientId.ToString()),
TableOperators.And,
TableQuery.GenerateFilterConditionForGuid("DeviceID", QueryComparisons.Equal, deviceId))
).OrderByDescending(x=>x.EventDate).Take(1).Select(x=>x.EventDate).ToList();
运行花费太多时间的代码:
var query = new TableQuery<TherapyEvent>().Where(
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, patientId.ToString()),
TableOperators.And,
TableQuery.GenerateFilterConditionForGuid("DeviceID", QueryComparisons.Equal, deviceId)) );
var resp= _table.ExecuteQuery(query).OrderByDescending(x=>x.EventDate).Take(1).Select(x=>x.EventDate).ToList()