簡體   English   中英

優化LINQ Select語句以獲得更好的性能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM