ParallelMergeOptions Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il tipo preferito di merge di output da usare in una query. In altre parole, indica come PLINQ deve unire i risultati delle varie partizioni in una singola sequenza di risultati. Si tratta solo di un hint e potrebbe non essere rispettato dal sistema quando si parallelizza tutte le query.
public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions =
Public Enum ParallelMergeOptions
- Ereditarietà
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| Default | 0 | Usare il tipo di unione predefinito, ovvero AutoBuffered. |
| NotBuffered | 1 | Usare un'unione senza buffer di output. Non appena sono stati calcolati gli elementi risultanti, rendere tale elemento disponibile per il consumer della query. |
| AutoBuffered | 2 | Usare un'unione con buffer di output di una dimensione scelta dal sistema. I risultati si accumulano in un buffer di output prima che siano disponibili per il consumer della query. |
| FullyBuffered | 3 | Usare un'unione con buffer di output completi. Il sistema accumula tutti i risultati prima di renderli disponibili al consumer della query. |
Commenti
Usare NotBuffered per le query che verranno utilizzate e restituite come flussi, con la latenza più bassa tra l'inizio dell'esecuzione delle query e gli elementi restituiti. Per alcune query, ad esempio quelle che coinvolgono un ordinamento (OrderBy, OrderByDescending), il buffering è essenziale e un hint di NotBuffered o AutoBuffered verrà ignorato. Tuttavia, le query create tramite l'operatore AsOrdered possono essere trasmessi finché non viene eseguita un'ulteriore ordinamento all'interno della query stessa.
Utilizzare AutoBuffered per la maggior parte dei casi. Si tratta dell'impostazione predefinita. Si tratta di un equilibrio tra latenza e prestazioni complessive.
Usare FullyBuffered per le query quando è possibile elaborare l'intero output prima che siano necessarie le informazioni. Questa opzione offre prestazioni ottimali quando è possibile accumulare tutto l'output prima di produrre informazioni, anche se non è adatto per l'elaborazione del flusso o la visualizzazione di risultati parziali a metà query.