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 可以在需要信息之前处理整个输出时用于查询。 当所有输出在生成任何信息之前都可以累积时,此选项可提供最佳性能,尽管它不适合流处理或在查询过程中显示部分结果。

适用于

另请参阅