优化LINQ Select语句以获得更好的性能
本文关键字:更好 性能 LINQ Select 语句 优化 | 更新日期: 2023-09-27 18:05:09
我有以下Linq代码
public partial class DBClass
{
public static IEnumerable<UserPrivilege> Select()
{
DataClassesDataContext db = new DataClassesDataContext();
return db.UserPrivileges;
}
public static IEnumerable<UserPrivilege> SelectPage(int startRowIndex, int maximumRows)
{
return Select().Skip(startRowIndex).Take(maximumRows);
}
public static int SelectCount()
{
return Select().Count();
}
}
我不太擅长这个。我只是觉得静态方法"Select()"将拉出"UserPrivilege"表中的整个记录,这可能会导致冗余,因为不是所有的行都需要大多数时间用于其他表。我怎样才能做到最好以获得更好的性能?
简单:将示例中每个位置的IEnumerable
更改为IQueryable
。工作。然后它可以作为TSQL而不是在内存中编写。例如,您的计数可能导致所有内容都通过电线,而不是发出select count(1)