我在Service Fabric有一个可靠的字典状态服务。我有一个简单的linq表达式。
我正在使用Ix-Async包构建一个异步可枚举。
using (ITransaction tx = this.StateManager.CreateTransaction())
{
var result = (await customers.CreateLinqAsyncEnumerable(tx))
.Where(x => x.Value.NameFirst != null && x.Value.NameFirst.EndsWith(n, StringComparison.InvariantCultureIgnoreCase))
.Select(y => y.Value);
return await result.ToList();
}
这些数据被分为两个分区,每个分区大约有75000条记录。我使用Int64范围作为分区键。在上面的代码中,“Result.ToList()”需要大约1分钟来执行每个分区。另一个奇怪的事情是,实际结果为空!虽然在SQL Server中运行相同的SQL可以返回以“c”结尾的客户名字的行,但这并不重要。我最担心的是“ReliableDictionary” Linq查询的性能问题。
谢谢