ParallelMergeOptions ParallelMergeOptions ParallelMergeOptions ParallelMergeOptions Enum

Определение

Определяет предпочтительный тип слияния вывода для использования в запросе. Другими словами, этот класс определяет, как PLINQ должен объединять результаты, полученных из различных секций, в единую результирующую последовательность. Это только рекомендация, которая может не соблюдаться системой при выполнении всех запросов параллельно.This is a hint only, and may not be respected by the system when parallelizing all queries.

public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions = 
Public Enum ParallelMergeOptions
Наследование
ParallelMergeOptionsParallelMergeOptionsParallelMergeOptionsParallelMergeOptions

Поля

AutoBuffered AutoBuffered AutoBuffered AutoBuffered 2

Для слияния используются буферы вывода, размер которых определяется системой.Use a merge with output buffers of a size chosen by the system. Результаты накапливаются в буфере вывода, прежде чем попасть к потребителю запроса.Results will accumulate into an output buffer before they are available to the consumer of the query.

Default Default Default Default 0

Используется тип слияния по умолчанию, то есть AutoBuffered.Use the default merge type, which is AutoBuffered.

FullyBuffered FullyBuffered FullyBuffered FullyBuffered 3

Используется режим слияния с полными буферами вывода.Use a merge with full output buffers. Система будет накапливать все результаты до их передачи потребителю запроса.The system will accumulate all of the results before making any of them available to the consumer of the query.

NotBuffered NotBuffered NotBuffered NotBuffered 1

Используется режим слияния без буферов вывода.Use a merge without output buffers. Элементы результатов передаются потребителю запроса сразу же после вычисления.As soon as result elements have been computed, make that element available to the consumer of the query.

Комментарии

Используйте NotBuffered для запросов, который будет использоваться и вывести в виде потоков, это имеет наименьшую задержку между начало выполнения запроса и элементы упорядочиваются.Use NotBuffered for queries that will be consumed and output as streams, this has the lowest latency between beginning query execution and elements being yielded. Для некоторых запросов например включающие сортировку (OrderBy, OrderByDescending) буферизации важно и указание NotBuffered или AutoBuffered будет игнорироваться.For some queries, such as those involving a sort (OrderBy, OrderByDescending), buffering is essential and a hint of NotBuffered or AutoBuffered will be ignored. Тем не менее запросы, созданные с помощью оператор AsOrdered можно настроить потоковую передачу до тех пор, пока дальнейшая сортировка выполняется в самом запросе.However, queries that are created by using the AsOrdered operator can be streamed as long as no further sorting is performed within the query itself.

Используйте AutoBuffered в большинстве случаев; это значение по умолчанию.Use AutoBuffered for most cases; this is the default. Он обеспечивает баланс между задержкой и общую производительность.It strikes a balance between latency and overall performance.

Используйте FullyBuffered для запросов, когда все выходные данные, которые могут быть обработаны, прежде чем необходимые сведения.Use FullyBuffered for queries when the entire output can be processed before the information is needed. Этот параметр обеспечивает наилучшую производительность, когда все выходные данные суммируется. Прежде чем возвращать данные, на то, что это не подходит для потока обработки или отображения частичного результатов во время запроса.This option offers the best performance when all of the output can be accumulated before yielding any information, though it is not suitable for stream processing or showing partial results mid-query.

Применяется к

Дополнительно