我在列表中有20萬左右的記錄,我通過循環和他們形成另一個集合。這在我的本地64位Win 7上正常工作,但是當我將它移到Windows Server 2008 R2時,它需要很長時間。差不多有差不多一個小時!優化LINQ到對象查詢
我試圖尋找編譯查詢,現在還在計算出來。
由於種種原因,我們不能做一個數據庫連接和檢索子值
下面是代碼:
//listOfDetails is another collection
List<SomeDetails> myDetails = null;
foreach (CustomerDetails myItem in customerDetails)
{
var myList = from ss in listOfDetails
where ss.CustomerNumber == myItem.CustomerNum
&& ss.ID == myItem.ID
select ss;
myDetails = (List<SomeDetails>)(myList.ToList());
myItem.SomeDetails = myDetails;
}
感謝項目的兩個服務器上編輯 – hangar18
數目相同?可比較的硬件?你的本地Win7需要多長時間(一小時可能是800%或1%,我們不知道)。 – driis
是的..記錄的數量是相同的。在Win 7上處理這個循環大約需要2分鐘,但在服務器上大約需要70分鐘! – hangar18