2012-07-28 77 views
1

我在我的實體框架上下文中有一個很大的數據集 - table1和一個大的List<T>,我需要在上面的table1/list1中統計相同的值。實體框架在大型數據集上的高效使用

我能做到這一點兩種不同的方式:

  1. jointCollection=table1.union(list1) - 和檢查:中list1.count+table1.count-jointCollection.count...
  2. 值上select table1 with multi condition(list1.count)

我的問題做計算是哪種方法更有效?

+1

請定義「大」。 – 2012-07-28 07:52:45

+0

請定義「在我的上下文中」?你是否試圖通過將完整的表加載到內存中而不是做出明智的內容,即要求數據庫對它們進行計數? – TomTom 2012-07-28 08:29:54

+0

大> 1,000,000 – user1071420 2012-07-28 12:04:15

回答

3

最好的解決方案是運行SQL分析器,而你運行每一個並找出!

但是,如果效率是至關重要的,我建議使用導入到EF中的存儲過程作爲函數,因爲Linq to Entities會增加額外開銷。

+0

這意味着並假定他使用的是SQL Server ...這很可能,但並不明確。 EF對其他RDBMS系統也有效 – 2012-07-28 08:24:16

+0

我正在使用sql 2008 – user1071420 2012-07-28 12:05:01