ParallelMergeOptions 列挙型

定義

クエリで使用する 出力マージ の推奨される種類を指定します。 つまり、さまざまなパーティションから返された結果を PLINQ がどのように単一の結果シーケンスにマージするかを示します。 これはヒントにすぎないため、すべてのクエリが並列化される場合に、システムによって適用されるとは限りません。

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

フィールド

AutoBuffered 2

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

Default 0

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

FullyBuffered 3

すべての出力バッファーを使用してマージを行います。 システムは、クエリのコンシューマーに結果を返す前に、すべての結果をバッファーに蓄積します。

NotBuffered 1

出力バッファーを使用せずにマージを行います。 結果の要素が算出されると、直ちにその要素がクエリのコンシューマーに返されます。

注釈

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

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

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

適用対象

こちらもご覧ください