在使用EF 5.0和WCF數據服務對我的數據訪問例程進行一些測試期間,我遇到了性能問題。我從一個WCF數據服務操作中執行以下的簡單查詢:增加檢索到的記錄數指數增加linq查詢持續時間
var addresses = (from address in context.Addresses select address).Take(500);
var addressList = addresses.ToList();
當我只需要500條記錄,查詢時間約爲300毫秒。以1000條記錄爲例,查詢時間爲4秒。以2000條記錄查詢時間爲24秒。記錄約6000條記錄,查詢時間爲360秒或更長。
當我執行由Sql Server Management Studio中EF生成的sql語句時,6000記錄查詢基本上是瞬時的。
可以配置哪些設置以消除此性能問題?
如果不需要改變,然後跟蹤你可以嘗試調用'.AsNoTracking()'您'DbQuery'所以你不要沒有ObjectStateManager的開銷。 – 2013-05-01 01:28:41