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

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

Linq結果集性能的疑問

Linq結果集性能的疑問

慕的地8271018 2018-08-10 08:10:05
如代碼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貢獻1831條經驗 獲得超9個贊

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

查看完整回答
反對 回復 2018-08-13
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

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

查看完整回答
反對 回復 2018-08-13
  • 2 回答
  • 0 關注
  • 581 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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