ParallelMergeOptions 列挙型

定義

クエリで使用 出力マージ の優先する種類を指定します。 つまり、PLINQ がさまざまなパーティションからの結果を 1 つの結果シーケンスにマージする方法を示します。 これはヒントのみであり、すべてのクエリを並列化するときにシステムで考慮されない場合があります。

public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions = 
Public Enum ParallelMergeOptions
継承
ParallelMergeOptions

フィールド

名前 説明
Default 0

既定のマージの種類 (AutoBuffered) を使用します。

NotBuffered 1

出力バッファーを使用せずにマージを使用します。 結果要素が計算されたらすぐに、その要素をクエリのコンシューマーが使用できるようにします。

AutoBuffered 2

システムによって選択されたサイズの出力バッファーでマージを使用します。 結果は、クエリのコンシューマーが使用できるようになる前に出力バッファーに蓄積されます。

FullyBuffered 3

完全な出力バッファーでマージを使用します。 システムは、クエリのコンシューマーが使用できるようにする前に、すべての結果を蓄積します。

注釈

NotBuffered使用され、ストリームとして出力されるクエリでは、クエリの実行を開始してから生成される要素までの待機時間が最も短くなります。 並べ替えを伴うクエリ (OrderBy、OrderByDescending) などの一部のクエリでは、バッファリングが不可欠であり、NotBuffered または AutoBuffered のヒントは無視されます。 ただし、AsOrdered 演算子を使用して作成されたクエリは、クエリ自体でそれ以上並べ替えが実行されない限り、ストリーミングできます。

ほとんどの場合、 AutoBuffered を使用します。これが既定値です。 待機時間と全体的なパフォーマンスのバランスが取られます。

情報が必要になる前に出力全体を処理できる場合は、クエリに FullyBuffered を使用します。 このオプションは、情報を生成する前にすべての出力を蓄積できる場合に最適なパフォーマンスを提供しますが、ストリーム処理や部分的な結果の中間クエリの表示には適していません。

適用対象

こちらもご覧ください