ParallelMergeOptions ParallelMergeOptions ParallelMergeOptions ParallelMergeOptions Enum

Definição

Especifica o tipo preferencial de mesclagem de saída a ser usado em uma consulta. Em outras palavras, ele indica como o PLINQ deve mesclar os resultados de várias partições novamente em uma sequência de resultados. Isso é apenas uma dica e pode não ser respeitado pelo sistema ao paralelizar todas as consultas.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
Herança
ParallelMergeOptionsParallelMergeOptionsParallelMergeOptionsParallelMergeOptions

Campos

AutoBuffered AutoBuffered AutoBuffered AutoBuffered 2

Usar uma mesclagem com buffers de saída de um tamanho escolhido pelo sistema.Use a merge with output buffers of a size chosen by the system. Os resultados acumularão em um buffer de saída antes de estarem disponíveis para o consumidor da consulta.Results will accumulate into an output buffer before they are available to the consumer of the query.

Default Default Default Default 0

Usar o tipo de mesclagem padrão, que é AutoBuffered.Use the default merge type, which is AutoBuffered.

FullyBuffered FullyBuffered FullyBuffered FullyBuffered 3

Usar uma mesclagem com buffers de saída cheios.Use a merge with full output buffers. O sistema acumulará todos os resultados antes de disponibilizá-los para o consumidor da consulta.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

Usar uma mesclagem sem buffers de saída.Use a merge without output buffers. Assim que os elementos de resultado tiverem sido computados, disponibilizar esse elemento para o consumidor na consulta.As soon as result elements have been computed, make that element available to the consumer of the query.

Comentários

Use NotBuffered para consultas que serão consumidas e como fluxos de saída, isso tem a menor latência entre a execução da consulta inicial e os elementos que está sendo gerados.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. Para algumas consultas, como aquelas que envolvem uma classificação (OrderBy, OrderByDescending), o buffer é essencial e uma dica de NotBuffered ou AutoBuffered será ignorada.For some queries, such as those involving a sort (OrderBy, OrderByDescending), buffering is essential and a hint of NotBuffered or AutoBuffered will be ignored. No entanto, as consultas que são criadas usando o operador AsOrdered podem ser transmitidas desde que nenhuma classificação adicional é executada na própria consulta.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.

Use AutoBuffered na maioria dos casos; esse é o padrão.Use AutoBuffered for most cases; this is the default. Ela atinge um equilíbrio entre a latência e o desempenho geral.It strikes a balance between latency and overall performance.

Use FullyBuffered para consultas quando toda a saída pode ser processada antes que as informações são necessárias.Use FullyBuffered for queries when the entire output can be processed before the information is needed. Essa opção oferece o melhor desempenho quando toda a saída pode ser acumulada antes produzindo todas as informações que não seja adequado para o fluxo de processamento ou mostrando parcial resultados de consulta intermediária.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.

Aplica-se a

Veja também