2016-05-14 59 views
1

我正在使用CassandraCSharpDriver 3.0.4版本。我需要映射我的表格。我運行24並行查詢並獲取24個IEnumerable列表。然後我將24個IEnumerable列表連接到一個IEnumerable列表。這些步驟不需要太多時間。大約10秒。datastax c#驅動程序IEnumerable <T> foreach優化

當我開始爲具有10M記錄的組合IEnumerable編寫代碼時,問題就開始了。大約需要15分鐘。如果使用Parallel.Foreach,則無關緊要。

我使用映射功能,驅動程序的Linq功能。在某種程度上,我需要優化製圖系統,可能會做一些manuel或做一些平行的事情。我需要建議。順便說一下,我知道mapreduce的其他解決方案。我需要那個。

回答

1

花了很多時間,並測試linq和普通會話執行後,我想出了是什麼原因造成的。只是運行execute方法需要頁數大小的行。如果你想迭代結果,它需要整行。在我的情況下,pagesize是5000,整行數是1.5M,這就是爲什麼迭代花費太多時間。

相關問題