ParallelMergeOptions Výčet

Definice

Určuje upřednostňovaný typ výstupního sloučení , který se má použít v dotazu. Jinými slovy, označuje, jak plINQ má sloučit výsledky z různých oddílů zpět do jedné sekvence výsledků. Jedná se pouze o nápovědu a při paralelizaci všech dotazů nemusí systém respektovat.

public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions = 
Public Enum ParallelMergeOptions
Dědičnost
ParallelMergeOptions

Pole

AutoBuffered 2

Použijte sloučení s výstupními vyrovnávacími pamětimi o velikosti zvolené systémem. Výsledky se shromáždí do výstupní vyrovnávací paměti předtím, než budou k dispozici příjemci dotazu.

Default 0

Použijte výchozí typ sloučení, kterým je AutoBuffered.

FullyBuffered 3

Použijte sloučení s úplnými výstupními vyrovnávacími pamětí. Systém nashromáždí všechny výsledky před zpřístupněním některého z nich příjemci dotazu.

NotBuffered 1

Použijte sloučení bez výstupních vyrovnávacích pamětí. Jakmile se vypočítá prvky výsledku, zpřístupněte ho příjemci dotazu.

Poznámky

Používá se NotBuffered pro dotazy, které budou spotřebovány a výstupem jako datové proudy, což má nejnižší latenci mezi spuštěním dotazu a výstupem prvků. U některých dotazů, například těch, které zahrnují řazení (OrderBy, OrderByDescending), je ukládání do vyrovnávací paměti nezbytné a náznak NotBuffered nebo AutoBuffered bude ignorován. Dotazy vytvořené pomocí operátoru AsOrdered však mohou být streamovány, pokud se v samotném dotazu neprovádí žádné další řazení.

Ve většině případů se používá AutoBuffered . Toto je výchozí nastavení. Představuje rovnováhu mezi latencí a celkovým výkonem.

Používá se FullyBuffered pro dotazy, pokud je možné zpracovat celý výstup předtím, než je potřeba informace. Tato možnost nabízí nejlepší výkon, když je možné veškerý výstup shromáždit před odesláním jakýchkoli informací, i když není vhodná pro zpracování datových proudů nebo zobrazení částečných výsledků uprostřed dotazu.

Platí pro

Viz také