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

适用于

另请参阅