ParallelMergeOptions 列舉

定義

指定要在查詢中使用的 輸出合併 慣用類型。 換句話說,它表示 PLINQ 應該如何將各種分割區的結果合併回單一結果序列。 這隻是提示,而且在平行處理所有查詢時,系統可能不會遵守。

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

欄位

名稱 Description
Default 0

使用預設的合併類型,也就是 AutoBuffered。

NotBuffered 1

使用沒有輸出緩衝區的合併。 結果元素一計算完成,立即將該元素提供給查詢的使用者。

AutoBuffered 2

使用系統自行選擇大小的輸出緩衝區合併。 結果會在查詢使用者取得前累積到輸出緩衝區。

FullyBuffered 3

使用包含完整輸出緩衝區的合併。 系統會在將任何結果提供給查詢使用者之前,累積所有結果。

備註

用於 NotBuffered 將被消耗並輸出為串流的查詢,這種方式從開始查詢執行到產生元素之間的延遲最低。 對於某些查詢,例如涉及排序(OrderBy、OrderByDescending)的查詢,緩衝是必須的,且會忽略 NotBuffered 或 AutoBuffered 的提示。 然而,使用排序運算子建立的查詢只要在查詢本身不進行進一步排序,仍可進行串流處理。

大多數情況下使用 AutoBuffered ;這是預設。 它在延遲與整體效能之間取得了平衡。

當整個輸出能在需要資訊前處理完畢時,則用於 FullyBuffered 查詢。 當所有輸出都能累積後再產生任何資訊時,此選項提供最佳效能,但不適合串流處理或在查詢中顯示部分結果。

適用於

另請參閱