Linq对象性能问题?

时间:2013-02-04 04:31:12

标签: asp.net performance

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

1 个答案:

答案 0 :(得分:1)

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

您可能会看到:Effective Paging Using Linq (Sample Code) - Code Project

如果您只是在数据库中搜索记录并仅选择其中的一些记录并且您担心性能,那么它将更多地依赖于您的数据库服务器。针对数据源的LINQ查询转换为下层查询语言。如果您的下层数据源是SQL Server,那么LINQ将被转换为SQL。您可以通过LINQPad或Visual studio获取生成的SQL,并通过查看query execution plan来查看是否需要优化。您还可以针对要在LINQ查询中搜索的列设置索引,这将极大地改善从1000万行中选择的记录。