索引SQL表是否会提高LINQ语句的性能?

Ric*_*ano 6 c# sql linq indexing linq-to-sql

道歉可能是一个很愚蠢的问题.

我很感兴趣的是(a)索引会改进性能(b)它将如何提高性能;(c)为什么它会提高性能?

此外,如果这确实提高了性能,那么LINQ to SQL,LINQ to Entities,LINQ to Objects等等是否会出现这种情况.

再说一次,如果这是一个非常愚蠢的问题,我会道歉.

Win*_*ith 4

当且仅当您的 LINQ 查询导致执行可以使用索引的 SQL 语句时,它才会提高性能 - 因为在使用 Linq-To-Sql 时,您的 LINQ 查询会转换为 SQL 语句(因此名字)。

例如,以下查询显然会受益于 Customers 表的 LastName 列上的索引。

var results = from c in db.Customers
    where c.LastName == 'Smith'
    select c;
Run Code Online (Sandbox Code Playgroud)