ParallelMergeOptions 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クエリで使用する 出力マージ の推奨される種類を指定します。 つまり、さまざまなパーティションから返された結果を PLINQ がどのように単一の結果シーケンスにマージするかを示します。 これはヒントにすぎないため、すべてのクエリが並列化される場合に、システムによって適用されるとは限りません。
public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions =
Public Enum ParallelMergeOptions
- 継承
フィールド
AutoBuffered | 2 | システムが選択したサイズの出力バッファーを使用してマージを行います。 結果は、クエリのコンシューマーに返される前に、出力バッファーに蓄積されます。 |
Default | 0 | 既定のマージの種類 (AutoBuffered) を使用します。 |
FullyBuffered | 3 | すべての出力バッファーを使用してマージを行います。 システムは、クエリのコンシューマーに結果を返す前に、すべての結果をバッファーに蓄積します。 |
NotBuffered | 1 | 出力バッファーを使用せずにマージを行います。 結果の要素が算出されると、直ちにその要素がクエリのコンシューマーに返されます。 |
注釈
を使用してストリームとして出力するクエリには を使用 NotBuffered
します。これにより、クエリの実行を開始してから生成される要素までの待機時間が最も短くなります。 並べ替え (OrderBy、OrderByDescending) を含むクエリなど、一部のクエリではバッファー処理が不可欠であり、NotBuffered または AutoBuffered のヒントは無視されます。 ただし、AsOrdered 演算子を使用して作成されたクエリは、クエリ自体内で並べ替えが実行されない限り、ストリーミングできます。
ほとんどの場合に を使用 AutoBuffered
します。これが既定値です。 待機時間と全体的なパフォーマンスのバランスを取ります。
情報が必要になる前に出力全体を処理できる場合は、クエリに 使用 FullyBuffered
します。 このオプションは、ストリーム処理や部分的な結果のクエリの途中での表示には適していませんが、情報を生成する前にすべての出力を蓄積できる場合に最適なパフォーマンスを提供します。
適用対象
こちらもご覧ください
.NET
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示