0

我的表中有 1000 万条记录。我正在尝试使用 linq 查询来获取记录,但这会导致性能问题。如何在没有任何延迟或任何性能问题的情况下获取数据?

4

1 回答 1

1

您可以使用Enumerable.SkipEnumerable.Take实现分页以使用 LINQ 获取数据。为了更快地访问,您可以重新访问您当前的索引 (如果有的话),数据并尝试仅加载所需的数据/列。

您可能会看到:使用 Linq 进行有效分页(示例代码)- 代码项目

如果您只想在数据库中搜索记录并只选择其中的几个并且您担心性能,那么它将更多地取决于您的数据库服务器。针对数据源的 LINQ 查询转换为底层查询语言。如果您的底层数据源是 SQL Server,那么 LINQ 将被转换为 SQL。您可以通过LINQPad或 Visual Studio获取生成的 SQL,并通过查看查询执行计划来查看它是否需要优化。您还可以针对要在 LINQ 查询中搜索的列设置索引,这将极大地改进从 1000 万行中选择记录。

于 2013-02-04T04:36:37.480 回答