目前我們有一個頁面,我們需要分頁所以,我需要2信息
1.獲取行的總數
2.取「N」的行數行
選擇「N」行並獲得使用實體框架
目前,我有2查詢這樣做,對於第1步類似
count = db.Transactions
.AsNoTracking()
.Where(whereClause
.Count();
然後
db.Transactions
.AsNoTracking()
.Where(whereClause
.Skip(skipRows)
.Take(pagesize)
.ToList();
有什麼辦法可以優化它嗎?
我想這將是更昂貴的操作,在內存中加載的所有數據是不是一種選擇,行數是非常大的 –
我認爲這取決於你希望把你的** **的成本在哪裏,你的代碼將兩次打到數據庫(這是網絡綁定)。如果按照我的方式執行,則會受內存/ CPU限制。你應該做更詳細的分析,看看瓶頸在哪裏,並決定在哪裏優化。 – rexcfnghk