有没有办法加速这个查询:
return _database.Countries
.Include("Accounts")
.Where(country => country.Accounts.Count > 0)
.ToList();
大约有70个帐户和70个国家/地区,此查询执行大约需要1.5秒,这很长。
编辑:_database是一个EntityFramework模型
答案 0 :(得分:4)
您可以尝试将Where
子句更改为:
Where(country => country.Accounts.Any())
...但实际上您的第一个调用端口应该是数据库分析器。查看生成的查询,并将其放入您最喜欢的探查器中。像检查任何其他SQL查询一样检查索引等。
一旦你弄清楚为什么生成的SQL很慢以及你喜欢 SQL的样子,那么你就可以开始研究如何更改查询以生成SQL。
答案 1 :(得分:1)
您可以使用sql profiler来捕获正在对数据库执行的查询,然后使用它可以使用sql server上的索引优化方案。