加速一个简单的LINQ查询

本文关键字:简单 LINQ 查询 一个 加速 | 更新日期: 2023-09-27 17:54:59

有没有办法加速这个查询:

return _database.Countries
   .Include("Accounts")
   .Where(country => country.Accounts.Count > 0)
   .ToList();

大约有70个账户和70个国家,这个查询大约需要1.5秒来执行,这是相当长的。

EDIT: _database是一个EntityFramework模型

加速一个简单的LINQ查询

您可以尝试Where子句更改为:

Where(country => country.Accounts.Any())

…但实际上,您的第一站应该是数据库分析器。查看生成的查询,并将其放入您最喜欢的分析器中。检查索引等,就像检查其他SQL查询一样。

一旦你弄清楚为什么生成的SQL很慢,以及你希望 SQL是什么样子,然后你可以开始弄清楚如何改变你的查询来生成SQL。

您可以使用sql profiler来捕获正在对数据库执行的查询,然后使用它可以优化sql服务器上的索引场景。