亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linq結果集性能的疑問

Linq結果集性能的疑問

慕森卡 2018-11-28 05:09:33
如代碼1,先把數據ToList()到結果集中,然后再用sum函數。這樣不會產生對數據表的sum聚合算法,而是在結果集中sum.這樣是不是比代碼2直接在數據庫中sum性能要好呢? 代碼1var query = (from x in db.Course                  select x.Score).ToList();               int  sum = (decimal)query.Sum(); 代碼2var query = from x in db.Course                              select x.Score;               int  sum = (decimal)query.Sum();
查看完整描述

2 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

在數據庫中count完再出結果肯定是比把結果都select出來再在內存中count要快(想象一下你有10000條數據,網路傳輸和內存占用消耗),如果你只需要一個count結果,那肯定是在數據庫中執行再獲取結果的。如果你除了count數,還需要對這些數據做一些操作(比如讀取,更新等等),那肯定是先都select出來再count。

查看完整回答
反對 回復 2018-12-02
?
www說

TA貢獻1775條經驗 獲得超8個贊

第一種寫法把數據全部選出來了再計算,第二種是在數據庫中計算,所以第二種性能好一些。

查看完整回答
反對 回復 2018-12-02
  • 2 回答
  • 0 關注
  • 301 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號