[asp.net-mvc]asp.net mvc Linq 通过 100 万记录 (过程时间)

标签: Asp.net-MVC Linq
发布时间: 2017/3/25 17:16:13
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

好在这种情况下如果我带来的所有记录一次此查询

var pages=_db.Pages;

然后我会根据和处理一些场景

pages.Where(m => m.int_PostStatusId == 2) 

pages.Where(m => m.int_PostStatusId == 3)  and so on

它真的节约一些处理时间?或不 (真的应该做什么?)

解决方法 1:

它是重要的是知道这几乎可以肯定并带来"的所有记录一次":

var pages = _db.Pages;

假设这 LINQ 到 SQL 或类似的东西,这只是创建查询的 — — 它实际上并不从数据库中获取任何东西。

当您使用 pages.Where(...) ,创建一个新的查询-再次,它并不实际上任何东西从数据库读取直到你开始阅读从查询 (例如,通过调用 ToList )。因此,很难告诉如何帮助您优化您的代码 — — 我们不知道你在做什么。

你想要做什么以所有页,或只与一个子集吗?如果你想通过 PostStatusId group,我建议你做的明确,而不是由有很多的不同的筛选器读取。

赞助商