2016-05-14 7 views
1

私はCassandraCSharpDriver 3.0.4バージョンを使用しています。私はテーブルを減らす必要があります。私は24の並列クエリを実行し、24のIEnumerableリストを取る。次に私は24のIEnumerableリストを1つのIEnumerableリストに結びつけます。これらのステップには時間がかかりません。約10秒です。datastax c#ドライバIEnumerable <T> foreach optimize

問題は、10Mレコードを持つ結合IEnumerableのコードをforeachするときに始まります。約15分かかります。 Parallel.Foreachを使用するかどうかは関係ありません。

ドライバのマッピング機能、Linq機能を使用します。何らかの形で、私はマッピングシステムを最適化する必要があります、何かmanuelをやっているか、何か並行しているかもしれません。私は提案が必要です。ところで、私はmapreduceのための他の解決策を知っています。私はそれを正確に必要とする。

答えて

1

多くの時間を費やして、linqとプレーンセッションの両方の実行をテストした後、私は何が原因かを考え出しました。 executeメソッドを実行するだけでは、ページサイズの行数が必要です。結果を繰り返す場合は、行全体が必要です。私の場合、pagesizeは5000で、全体の行数は1.5Mです。これは反復に時間がかかりすぎる理由です。

関連する問題