c# - 加速简单的 LINQ 查询

标签 c# .net linq entity-framework

有什么方法可以加速这个查询:

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/

相关文章:

c# - 如何运行 TestClass 的所有单元测试及其内部 TestClass 测试?

c# - List<int> 使用 linq 过滤

c# - 生成的 Entity Framework 代码

.net - Windows 10 拖放

c# - 如何通过 .NET API 打开 AutoCAD 2015

C# Linq 比 PHP 慢?解决谜题#236A

c# - 如何跟踪 documentdb Linq 提供程序生成的查询?

c# - Activator.CreateInstance(Type) 作为接口(interface)返回 null

c# - 在 Dynamic Linq Order By 上保留 NULL 行

c# - 部分 BindingList 到字符串数组