[英]LINQ-query select statement before order by or vise versa is better
[英]Optimizing LINQ Select statement for better performance
我有以下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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.