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