有什么方法可以加速这个查询:
return _database.Countries
.Include("Accounts")
.Where(country => country.Accounts.Count > 0)
.ToList();
大约有 70 个帐户和 70 个国家/地区,此查询执行大约需要 1.5 秒,相当长。
编辑:_database 是一个 EntityFramework 模型
最佳答案
您可以尝试将Where
子句更改为:
Where(country => country.Accounts.Any())
...但实际上您的第一个停靠点应该是数据库分析器。查看生成的查询,并将其放入您最喜欢的分析器中。像检查任何其他 SQL 查询一样检查索引等。
一旦您弄清楚生成的 SQL 速度慢的原因以及您希望 SQL 是什么样子,您就可以开始研究如何更改查询以生成该 SQL。
关于c# - 加速简单的 LINQ 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5909863/