Sdílet prostřednictvím


Odkaz na logický a fyzický operátor showplan

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance

Operátory popisují, jak SQL Server provádí dotaz nebo příkaz DML (Data Manipulation Language). Optimalizátor dotazů používá operátory k vytvoření plánu dotazu k vytvoření výsledku zadaného v dotazu nebo k provedení operace zadané v příkazu DML. Plán dotazu je strom skládající se z fyzických operátorů. Plán dotazu můžete zobrazit pomocí příkazů SET SHOWPLAN, možností grafického plánu provedení v aplikaci SQL Server Management Studio nebo událostí showplan v rámci rozšířených událostí.

Operátory jsou klasifikovány jako logické a fyzické operátory.

Logické operátory

Logické operátory popisují relační algebraickou operaci použitou ke zpracování příkazu. Jinými slovy logické operátory popisují koncepčně to, co je potřeba provést.

Fyzické operátory

Fyzické operátory implementují operaci popsanou logickými operátory. Každý fyzický operátor je objekt nebo rutina, která provádí operaci. Některé fyzické operátory například přistupují ke sloupcům nebo řádkům v tabulce, indexu nebo zobrazení. Jiné fyzické operátory provádějí operace, jako jsou výpočty, agregace, kontroly integrity dat nebo spojení. Fyzické operátory mají spojené náklady.

Fyzické operátory inicializují, shromažďují data a ukončují. Fyzický operátor může odpovědět na následující tři volání metod:

  • Open(): Metoda Open() způsobí, že se fyzický operátor inicializuje a nastaví všechny požadované datové struktury. I když fyzický operátor může přijímat mnoho Open() volání, obvykle přijímá pouze jeden.

  • GetRow(): Metoda GetRow() způsobí, že fyzický operátor získá první nebo následující řádek dat. Fyzický operátor může přijímat žádné nebo mnoho volání GetRow().

  • Close(): Metoda Close() způsobí, že fyzický operátor provede některé operace čištění a sám se vypne. Fyzický operátor přijímá pouze jedno Close() volání, ale volání Close() není vždy zaručeno.

Metoda GetRow() vrátí jeden řádek dat a počet, kolikrát je volána, se zobrazí jako ActualRows ve výstupu showplan, který je vytvořen grafickým a XML showplan. Další informace o těchto možnostech SET naleznete v tématu SET STATISTICS PROFILE (Transact-SQL) a SET STATISTICS XML (Transact-SQL).

ActualRebinds a ActualRewinds počty zobrazené ve výstupu showplan odkazují na počet, kolikrát je volána metoda Open(). Není-li operátor na vnitřní straně spojení vnořených smyček, pak hodnota ActualRebinds se rovná jedné a hodnota ActualRewinds se rovná nule. Pokud je operátor na vnitřní straně smyčkového spojení, celkový počet opětovných navázání a převinutí by se měl rovnat počtu řádků zpracovaných na vnější straně spojení. Změna vazby znamená, že se změnil jeden nebo více korelovaných parametrů spojení a vnitřní strana se musí znovu vyhodnotit. Převinutí zpět znamená, že se nezměnil žádný z korelovaných parametrů a předchozí vnitřní sada výsledků by se mohla znovu použít.

ActualRebinds a ActualRewinds jsou k dispozici ve výstupu showplanu XML vytvořeném pomocí SET STATISTICS XML ON a grafického showplanu. Vyplní se jen pro operátory neclusterovaná mezipaměť indexu, vzdálený dotaz, mezipaměť počtu řádků, řazení, mezipaměť tabulky a funkce vracející tabulku. ActualRebinds a ActualRewinds mohou být také vyplněny pro operátory Assert a Filter, pokud je atribut StartupExpression nastaven na TRUE.

Pokud ActualRebinds a ActualRewinds jsou k dispozici v showplanu XML, jsou srovnatelné s EstimateRebinds a EstimateRewinds. Pokud chybí, odhadovaný počet řádků (EstimateRows ) je srovnatelný se skutečným počtem řádků (ActualRows). Skutečný grafický výstup Showplanu zobrazuje nuly pro skutečná přepojení a převíjení, pokud nejsou přítomny.

Související čítač, ActualEndOfScans, je k dispozici v XML a grafickém výkresu provádění. Kdykoli fyzický operátor dosáhne konce datového streamu, tento čítač se zvýší o jeden. Fyzický operátor může dosáhnout konce datového proudu nula, jednoho nebo vícekrát. Stejně jako u převazování a převíjení může být počet skenování více než jeden, jen pokud je operátor na vnitřní straně smyčkového spojení. Počet skenů by měl být menší nebo roven součtu počtu převázání a převinutí.

Mapování fyzických a logických operátorů

Optimalizátor dotazů vytvoří plán dotazu jako strom skládající se z logických operátorů. Jakmile optimalizátor dotazů vytvoří plán, zvolí optimalizátor dotazů pro každý logický operátor nejúčinnější fyzický operátor. Optimalizátor dotazů používá přístup založený na nákladech k určení, který fyzický operátor implementuje logický operátor.

Logickou operaci obvykle může implementovat více fyzických operátorů. Ve výjimečných případech ale může fyzický operátor implementovat i několik logických operací.

Provádění dávkového režimu

Spouštění dávkového režimu je metoda zpracování dotazů, která se používá ke zpracování více řádků společně (tedy termín dávkové zpracování) místo zpracování jedné řádky najednou. Zpracování dávkového režimu používá algoritmy optimalizované pro procesory s více jádry a zvýšenou propustnost paměti na moderním hardwaru. Dávkový režim může používat sada operátorů pro objekty rowstore i columnstore. Další informace naleznete v tématu Průvodce architekturou zpracování dotazů.

Popisy operátorů

Tato část obsahuje popisy logických a fyzických operátorů. Vlastnosti plánů dotazů a operátorů můžete zobrazit pomocí podokna Vlastnosti v zobrazení Plánu dotazu v SQL Server Management Studio (SSMS) a azure Data Studio.

Rada (if context is advice/suggestion)

Pokaždé, když má daná ikona grafického plánu provádění žlutý kruh se dvěma šipkami zprava doleva, znamená to, že operátor byl spuštěn paralelně. Další informace o paralelismu naleznete v Průvodce architekturou vláken a úloh.

Ikona Operátor Showplan Popis
Adaptivní spojení Operátor Adaptive Join umožňuje odložit volbu metody spojení pomocí hash nebo vnořených smyček až do chvíle, kdy bude proveden sken prvního vstupu.

Adaptivní Spojení je fyzický operátor. Další informace najdete v tématu Principy adaptivních spojení.
agregační Operátor Aggregate vypočítá výraz obsahující MIN, MAX, SUM, COUNTnebo AVG.

Aggregate je logický a fyzický operátor.
Aritmetický výraz Operátor Aritmetic Expression vypočítá novou hodnotu z existujících hodnot v řádku. Aritmetické výrazy se v novějších verzích SQL Serveru nepoužívají.
Assert Operátor Assert ověřuje podmínku. Například ověří referenční integritu nebo zajistí, že skalární poddotaz vrátí jeden řádek. Pro každý vstupní řádek vyhodnotí operátor Assert výraz v podokně Vlastnosti plánu provádění. Pokud se tento výraz vyhodnotí jako NULL, předá se řádek operátorem Assert a provádění dotazu pokračuje. Pokud se tento výraz vyhodnotí jako nenulová hodnota, vyvolá se příslušná chyba.

Assert je fyzický operátor.
Přiřadit Operátor Assign přiřadí hodnotu výrazu nebo konstanty proměnné.

Assign je prvek jazyka.
Žádný asynchronní spojení Operátor Async Concat se používá pouze ve vzdálených dotazech (distribuovaných dotazech). Má n podřízených položek a jeden nadřazený uzel. Obvykle jsou některé z těchto podřízených dětí vzdálené počítače, které se účastní distribuovaného dotazu. Async Concat problémy Open() vydává volání všem podřízeným objektům současně a poté aplikuje rastrový obrázek na každý podřízený objekt. Pro každý bit, který je 1, asynchronní concat odešle výstupní řádky do nadřazeného uzlu na vyžádání.
bitmapové SQL Server používá operátor Bitmap k implementaci filtrování rastrových obrázků v plánech paralelních dotazů. Rastrové filtrování zrychluje provádění dotazů odstraněním řádků s klíčovými hodnotami, které nemohou vytvořit žádné spojovací záznamy, ještě předtím, než jsou řádky zpracovány dalším operátorem, jako je operátor souběžnosti. Rastrový filtr používá kompaktní reprezentaci sady hodnot z tabulky v jedné části stromu operátora k filtrování řádků z druhé tabulky v jiné části stromu. Odebráním nepotřebných řádků v rané fázi dotazu mají následné operátory méně řádků, se kterými se pracuje, a celkový výkon dotazu se zlepšuje. Optimalizátor určuje, kdy je rastrový obrázek dostatečně selektivní, aby byl užitečný a ve kterých operátorech se má filtr použít.

Bitmap je fyzický operátor.
Bitová mapa vytvořit Operátor Bitmap Create se zobrazí ve výstupu showplan, kde jsou vytvořeny rastrové obrázky.

Bitmap Create je logický operátor.
Žádný Přerozdělení větví V plánu paralelního dotazu někdy existují koncepční oblasti iterátorů. Všechny iterátory v rámci takové oblasti lze provádět paralelními vlákny. Samotné oblasti se musí spouštět sériově. Některé z iterátorů paralelismu v rámci jednotlivých regionů se nazývají větvení přerozdělení. Paralelismus iterátor na hranici dvou takových oblastí se nazývá Segment Repartition.

Rozdělení větve a Rozdělení segmentů jsou logické operátory.
vysílání Vysílání má jeden podřízený uzel a n nadřazených uzlů. Broadcast posílá vstupní řádky více příjemcům dle potřeby. Každý spotřebitel obdrží všechny řádky. Pokud jsou například všichni příjemci stranami sestavení hash join, potom je sestaveno n kopií hash tabulek.
sestavení hash Označuje vytváření dávkové hashovací tabulky pro columnstore index optimalizovaný pro paměť.

platí pouze pro: SQL Server 2012 (11.x).
Smazání clusterovaného indexu Operátor Clustered Index Delete odstraní řádky z clusterovaného indexu zadaného ve vlastnosti Objekt uvedené v podokně Vlastnosti v grafickém a XML showplans. Pokud je přítomen SeekPredicate nebo predikát, odstraní se pouze ty řádky, které splňují predikát.

Poznámka: změny clusterovaných indexů můžou mít vliv na neclusterované indexy.

Odstranění clusterovaného indexu je fyzický operátor.
Vložení clusterovaného indexu Operátor Clustered Index Insert vloží řádky ze vstupu do clusterovaného indexu zadaného ve vlastnosti Objekt uvedené v panelu Vlastnosti v grafických a XML plánech zobrazení. Xml showplan zahrnuje SetPredicate a ColumnReference vlastnosti, které lze použít k určení hodnoty, na kterou je každý sloupec nastaven. Pokud vložení clusterovaného indexu nemá žádné podřízené položky pro vložení hodnot, řádek vložený je převzat z operátoru Insert samotného.

Poznámka: změny clusterovaných indexů můžou mít vliv na neclusterované indexy.

Vložení clusterovaného indexu je fyzický operátor.
Sloučení clusterovaného indexu Operátor Clustered Index Merge aplikuje sloučený datový proud na clusterovaný index. Operátor odstraní, aktualizuje nebo vloží řádky z clusterovaného indexu specifikovaném ve vlastnosti objektu uvedené v podokně Vlastnosti v grafickém a XML plánech zobrazení. Skutečná operace závisí na hodnotě za běhu vlastnosti ActionColumn.

Poznámka: změny clusterovaných indexů můžou mít vliv na neclusterované indexy.

Clusterované spojení indexů je fyzický operátor.
Prohledání clusterovaného indexu Operátor Clustered Index Scan prohledá clusterovaný index určený ve vlastnosti Objekt, který je uveden v panelu Vlastnosti v grafických a XML plánech zobrazení. Pokud je k dispozici volitelný predikát, vrátí se pouze řádky, které splňují predikát. Pokud je vlastnost Ordered v podokně Vlastnosti nebo XML showplanu True, procesor dotazu určil, že řádky musejí být vráceny v pořadí, ve kterém je seřadil clusterovaný index. Pokud je vlastnost OrderedFalse, databázový stroj prohledá index optimálním způsobem, aniž by nutně seřadil výstup.

clusterované prohledávání indexů je logický a fyzický operátor.
clusterovaného indexu – hledání Operátor Clustered Index Seek používá schopnost indexů načítat řádky z clusterovaného indexu. Vlastnost Objekt, uvedená v podokně Vlastnosti grafických a XML plánů zobrazení, obsahuje název použití clusterovaného indexu. SeekPredicate obsahuje predikát pro hledání. Databázový stroj používá index ke zpracování pouze těch řádků, které vyhovují SeekPredicate. Může zahrnovat také predikát vlastnost, kde server databáze vyhodnocuje všechny řádky, které splňují SeekPredicate, ale je to volitelné a probíhá bez používání indexů k dokončení tohoto procesu.

Pokud je vlastnost Seřazená v podokně Vlastnosti nebo v showplanu XML nastavena na hodnotu True, procesor dotazu zjistil, že řádky musí být vráceny v pořadí, v jakém byly seřazeny clusterovaným indexem. Pokud je vlastnost OrderedFalse, databázový stroj prohledá index optimálním způsobem, aniž by nutně seřadil výstup. Vyžadování výstupu pro zachování pořadí může být méně efektivní než vytváření neseřazeného výstupu.

Clustered Index Seek je logický a fyzický operátor.
Aktualizace seskupeného indexu Operátor Clustered Index Update aktualizuje vstupní řádky v clusterovaném indexu zadaném ve vlastnosti Objekt, jak je uvedeno v podokně Vlastnosti grafického a XML showplanu. Pokud je vlastnost predikát k dispozici, aktualizují se pouze ty řádky, které splňují tento predikát. Pokud je k dispozici vlastnost SetPredicate, nastaví se každý aktualizovaný sloupec na tuto hodnotu. Pokud je k dispozici vlastnost DefineValue, jsou uvedeny hodnoty, které tento operátor definuje. Tyto hodnoty mohou být odkazovány v klauzuli SET nebo jinde v tomto operátoru a jinde v tomto dotazu.

Poznámka: změny clusterovaných indexů můžou mít vliv na neclusterované indexy.

clusterovaná aktualizace indexu je logický a fyzický operátor.
Sbalit Operátor Collapse optimalizuje zpracování aktualizací. Při provedení aktualizace je možné ji rozdělit (pomocí operátoru Split) na odstranění a vložení. Podokno Vlastnosti obsahuje skupinu podle predikátu, který určuje seznam klíčových sloupců. Pokud procesor dotazů narazí na sousední řádky, které odstraní a vloží stejné hodnoty klíčů, nahradí tyto samostatné operace jedinou efektivnější operací aktualizace.

Collapse je logický a fyzický operátor.
odstranění indexu columnstore Columnstore Index Delete operátor znamená odstranění řádků z columnstore indexu zadaného ve vlastnosti objektu , uvedené v podokně Vlastnosti grafických a XML plánů. K odstranění dochází prostřednictvím operátoru Clustered Index Delete pro shlukovaný index columnstore a prostřednictvím operátoru Index Delete pro neshlukovaný index columnstore. Typ indexu (Clustered, NonClusterednebo ViewNonClustered) je zadán ve vlastnosti IndexKind v showplan XML. SeekPredicate není podporován pro odstranění indexu Columnstore. Řádky, které se mají odstranit, se čtou z podřízeného operátoru.

odstranění indexu Columnstore je fyzický operátor.
vložení indexu Columnstore Operátor Columnstore Index Insert představuje vložení řádků ze vstupu do indexu columnstore zadaného ve vlastnosti Objektu, který je uvedeného v podokně Vlastnosti grafických a XML showplanů. Vložení probíhá prostřednictvím operátoru Clustered Index Insert pro clusterovaný index columnstore a prostřednictvím operátoru Index Insert pro neclusterovaný index columnstore. Typ indexu (Clustered, NonClusterednebo ViewNonClustered) je zadán ve vlastnosti IndexKind v showplan XML. Xml showplan zahrnuje SetPredicate a ColumnReference vlastnosti, které lze použít k určení hodnoty, na kterou je každý sloupec nastaven.

Poznámka: změny clusterovaných indexů můžou mít vliv na neclusterované indexy.

Columnstore Index Insert je fyzický operátor.
Sloučení columnstore indexů Sloučení indexů columnstore představuje aplikaci slučovacího datového proudu pomocí operátoru Clustered Index Merge. Operátor odstraní, aktualizuje nebo vloží řádky z clusterovaného columnstore indexu zadaného ve vlastnosti Objekt uvedené v podokně Vlastnosti grafických a XML showplanů. Skutečná operace závisí na hodnotě vlastnosti ActionColumn za běhu programu.

Poznámka: změny clusterovaných indexů můžou mít vliv na neclusterované indexy.

sloučení indexů columnstore je fyzický operátor.
skenování indexu columnstore Operátor Columnstore Index Scan představuje prohledávání indexu columnstore zadaného ve vlastnosti Objekt, které je uvedeno v podokně Vlastnosti v grafických a XML showplanech. Skenování probíhá prostřednictvím operace Prohledávání clusterovaného indexu pro clusterovaný columnstore index a prostřednictvím operátoru Prohledávání indexu pro neclusterovaný columnstore index. Typ indexu (Clustered, NonClusterednebo ViewNonClustered) je zadán ve vlastnosti IndexKind v showplan XML. Pokud je k dispozici volitelný predikát, vrátí se pouze řádky, které splňují predikát. Vlastnost SeekPredicate je k dispozici pouze pro particionovaný index columnstore a pouze pro podmínky rovnosti nebo nerovnosti. Pokud je dělený sloupec v predikátu dotazu, odstranění partice může snížit počet skupin řádků ke kontrole.

Columnstore Index Scan je fyzický operátor.
aktualizace indexu columnstore Operátor Columnstore Index Update představuje aktualizaci jednoho nebo více řádků v indexu columnstore zadaném ve vlastnosti Objekt uvedeném v podokně Vlastnosti grafických a XML showplanů. K aktualizacím dochází prostřednictvím operátoru Clustered Index Update pro clusterovaný index columnstore a prostřednictvím operátoru Index Update pro neclusterovaný index columnstore. Typ indexu (Clustered, NonClusterednebo ViewNonClustered) je zadán ve vlastnosti IndexKind v showplan XML. SeekPredicate se nepodporuje pro aktualizaci columnstore indexu. Řádky, které mají být aktualizovány, se načítají od podřízeného operátoru. Pokud je k dispozici vlastnost SetPredicate, nastaví se každý aktualizovaný sloupec na tuto hodnotu. Pokud je k dispozici vlastnost DefineValue, jsou uvedeny hodnoty, které tento operátor definuje. Tyto hodnoty mohou být odkazovány v klauzuli SET nebo jinde v tomto operátoru a jinde v tomto dotazu.

Poznámka: změny clusterovaných indexů můžou mít vliv na neclusterované indexy.

Columnstore index update je fyzický operátor.
Skalární výpočet Operátor Výpočetní skalární vyhodnotí výraz, aby vytvořil vypočítanou skalární hodnotu. To se pak může vrátit uživateli, nebo být odkazováno jinde v dotazu, případně obojí. Příkladem obojího je predikát filtru nebo predikát spojení.

Compute Scalar operátory, které se zobrazují ve showplánech vygenerovaných SET STATISTICS XML, nemusí obsahovat prvek RunTimeInformation. V grafických plánech zobrazení mohou skutečné počty řádků, skutečné vazbya skutečné převinutí chybět v okně Vlastnosti, pokud je v aplikaci SQL Server Management Studio vybrána možnost Zahrnout skutečný plán provádění. Pokud k tomu dojde, znamená to, že i když se tyto operátory používaly v zkompilovaném plánu dotazu, jejich práce prováděly jiné operátory v plánu dotazu modulu runtime. Počet spuštění ve výstupu showplan generovaném SET STATISTICS PROFILE je roven součtu rebindů a převinutí zpět v plánech showplan generovaných SET STATISTICS XML.

Compute Scalar je logický a fyzický operátor.
zřetězení Operátor zřetězení prohledá více vstupů a vrátí jednotlivé řádky skenované. zřetězení se obvykle používá k implementaci konstruktu Transact-SQL UNION ALL. Fyzický operátor zřetězení má dva nebo více vstupů a jeden výstup. Zřetězení kopíruje řádky z prvního vstupního datového proudu do výstupního datového proudu a pak tuto operaci opakuje pro každý další vstupní datový proud.

Zřetězení je logický a fyzický operátor.
Podmíněné (Když a Zatímco) Operátor podmíněného provádí podmíněné zpracování na základě smyčky nebo . Pokud a Zatímco jsou prvky jazyka.
konstantní skenování Operátor pro konstantní prohledávání přidává do dotazu jeden nebo více řádků s konstantní hodnotou. Operátor Compute Scalar se často používá po operátoru Constant Scan k přidání sloupců do řádku vytvořeného operátorem Constant Scan. konstantní prohledávání může vygenerovat jeden nebo více řádků s nulovými nebo více sloupci.
Převést Operátor Convert převede jeden skalární datový typ na jiný.

Convert je prvek jazyka.
křížové spojení Operátor křížové spojení spojí každý řádek z prvního (horního) vstupu s každým řádkem z druhého (dolního) vstupu.

Křížové Spojení je logický operátor.
kurzor Kurzor logické a fyzické operátory slouží k popisu způsobu provádění dotazu nebo aktualizace zahrnující operace kurzoru. Fyzické operátory popisují algoritmus fyzické implementace použitý ke zpracování kurzoru; Například pomocí kurzoru řízeného pomocí sady klíčů. Každý krok při provádění kurzoru zahrnuje fyzický operátor. Logické operátory popisují vlastnost kurzoru, například kurzor je jen pro čtení.

Logické operátory zahrnují asynchronní, optimistický, primární, pouze pro čtení, posuvné zámky, sekundárnía synchronní.

Mezi fyzické operátory patří dynamické, Fetch Query , keyset, population query, Refresh Querya Snapshot.
Deklarujte Operátor Declare přidělí místní proměnnou v plánu dotazu.

Declare je prvek jazyka.
Smazat Operátor Delete odstraní řádky (z objektu), které vyhovují volitelnému predikátu v podokně Vlastnosti.
smazané kontroly V triggerech operátor Odstraněná kontrola prohledá odstraněnou tabulku.
Žádný jedinečné Operátor Distinct odebere duplicity ze sady řádků nebo z kolekce hodnot.

Distinct je logický operátor.
Žádný jedinečné řazení Logický operátor Distinct Sort prohledá vstup, odstraní duplicitní hodnoty a seřadí podle sloupců zadaných v predikátu 'distinct order by' v podokně Vlastnosti.

Distinct Sort je logický operátor.
distribuce datových proudů Operátor Distribute Streams se používá pouze v paralelních plánech dotazů. Operátor Distribute Streams přebírá jeden vstupní datový proud záznamů a vytváří více výstupních datových proudů. Obsah a formát záznamu se nezmění. Každý záznam ze vstupního datového proudu se zobrazí v jednom z výstupních datových proudů. Tento operátor automaticky zachová relativní pořadí vstupních záznamů ve výstupních datových proudech. Obvykle se hashování používá k rozhodnutí, ke kterému výstupnímu streamu patří konkrétní vstupní záznam.

Pokud je výstup rozdělen do oddílů, podokno Vlastnosti obsahuje predikát týkající se sloupců oddílů a sloupců dělení.

Distribuce datových proudů je logický operátor.
dynamické Operátor Dynamický používá kurzor, který může zobrazit všechny změny provedené ostatními.
Eager Spool Operátor Eager Spool přebírá celý vstup a ukládá každý řádek do dočasného skrytého objektu v databázi tempdb. Pokud je operátor přetočen (například operátorem vnořených smyček), ale není potřeba opětovné navázání, místo opětovného prohledání vstupu se použijí uložená data. Pokud je potřeba přepojení, zařazená data se zahodí a objekt pro zařazování se znovu sestaví opětovným prohledáním vstupu. Operátor dychtivého spooling sestaví svůj soubor spooling "dychtivým" způsobem: když nadřazený operátor vyžádá první řádek, operátor spoolingu spotřebovává všechny řádky od svého vstupního operátoru a uloží je do spooling.

Eager Spool je logický operátor.
Dotaz načtení Operátor Fetch Query načte řádky, když je pro kurzor vydán příkaz načtení.
filtru Operátor Filtru naskenuje vstup a vrátí pouze řádky, které vyhovují výrazu filtru (predikát), který se zobrazí v podokně Vlastnosti.
Žádný Jasný tok Operátor Flow Distinct naskenuje vstup a odebere duplicity. Zatímco operátor Distinct využívá před vytvořením jakéhokoli výstupu veškerý vstup, operátor Flow Distinct vrátí každý řádek, který se získá ze vstupu (pokud tento řádek není duplicitní, v takovém případě se zahodí).

Flow Distinct je logický operátor.
Kontrola odkazů na cizí klíč Operátor Odkazy na cizí klíč zkontroluje, provádí kontroly referenční integrity na místě. Porovná upravený řádek s řádky v odkazujících tabulkách a ověří, že tato změna nenaruší referenční integritu. Pokud na stejném primárním nebo jedinečném klíči existuje více než 253 odkazů na cizí klíč, použije se operátor Kontrola odkazů na cizí klíč .

Kontrola referencí na cizí klíč je logický a fyzický operátor.
úplné vnější spojení Úplné vnější spojení logický operátor vrátí každý řádek splňující predikát spojení z prvního (horního) vstupu spojeného s každým řádkem z druhého (dolního) vstupu. Vrátí také řádky z:

- První vstup, který neměl žádné shody ve druhém vstupu.

- Druhý vstup, ve kterém nebyly žádné shody s prvním vstupem.

Vstup, který neobsahuje odpovídající hodnoty, se vrátí jako hodnota null.

úplné vnější spojení je logický operátor.
shromažďování datových proudů Operátor Shromažďování streamů se používá pouze v plánech paralelních dotazů. Operátor Shromáždit datové proudy využívá několik vstupních datových proudů a vytváří jeden výstupní datový proud záznamů zkombinováním vstupních datových proudů. Obsah a formát záznamu se nezmění. Pokud tento operátor zachovává pořadí, musí být všechny vstupní datové proudy seřazené. Pokud je výstup seřazený, podokno Vlastnosti obsahuje pořadí podle predikátu a názvů řazených sloupců.

Shromažďování datových proudů je logický operátor.
Hash shoda Operátor Hash Match sestaví tabulku hash výpočtem hodnoty hash pro každý řádek z jeho vstupu pro sestavení. V podokně Vlastnosti se zobrazí hashový predikát se seznamem sloupců použitých k vytvoření hashové hodnoty. Potom pro každý řádek sondy (podle potřeby) vypočítá hodnotu hash (pomocí stejné funkce hash) a vyhledá v tabulce hash shodu. Pokud je přítomen reziduální predikát (identifikovaný jako RESIDUAL:() v podokně Vlastnosti), musí být tento predikát také splněn, aby řádky byly považovány za shodné. Chování závisí na prováděné logické operaci:

– U všech spojení použijte první (horní) vstup k sestavení tabulky hash a druhý (dolní) vstup k prozkoumání hashovací tabulky. Výstup odpovídá shodám (nebo neshodám) podle typu spojení. Pokud více spojení používá stejný sloupec spojení, tyto operace jsou seskupeny do hash týmu.

– Pro odlišné nebo agregační operátory použijte vstup k vytvoření hashovací tabulky (odebrání duplicit a výpočtu všech agregačních výrazů). Po sestavení tabulky hash prohlédněte tabulku a vypište všechny položky.

– Pro sjednocovací operátor použijte první vstup k sestavení hashovací tabulky, přičemž se odstraní duplicitní položky. Použijte druhý vstup (který nesmí obsahovat žádné duplicity) k sondování tabulky hash, vrácení všech řádků, které nemají shodu, a pak naskenujte tabulku hash a vraťte všechny položky.

shoda hodnot hash je fyzický operátor. Další informace najdete v tématu Principy spojení hodnot hash.
odstranění indexu Operátor Odstranění indexu odstraní řádky z neclusterovaného indexu zadaného v podokně Vlastnosti.

Index Delete je fyzický operátor.
Vložení indexu Operátor Vložení indexu vloží řádky ze svého vstupu do neklastrového indexu zadaného v podokně Vlastnosti. Podokno Vlastnosti obsahuje také predikát nastavení, který určuje hodnotu, na kterou je každý sloupec nastavený.

Index Insert je fyzický operátor.
prohledávání indexů Operátor Prohledávání indexu načte všechny řádky z neklastrovaného indexu zadaného v panelu Vlastnosti. Pokud se v podokně vlastnosti zobrazí nepovinný , kde predikát, vrátí se pouze ty řádky, které splňují predikát.

Prohledávání indexu je logický a fyzický operátor.
vyhledávání v indexu Operátor Index Seek používá schopnost indexů načítat řádky z neclusterovaného indexu. Podokno Vlastnosti obsahuje název použitého neclusterovaného indexu. Obsahuje také vyhledávat predikát. Databázový stroj používá index ke zpracování pouze těch řádků, které vyhovují vyhledávacímu predikátu. Volitelně může zahrnovat jeden , kde predikát, který databázový stroj vyhodnocuje pro všechny řádky, které splňují vyhledávací predikát (indexy k tomu nepoužívá). Pokud podokno Vlastnosti obsahuje klauzuli ORDERED, procesor dotazu zjistil, že řádky musí být vráceny v pořadí, v jakém je seřadil neclusterovaný index. Pokud klauzule ORDERED neexistuje, databázový stroj prohledá index optimálním způsobem (což nezaručuje řazení výstupu). Povolení zachování pořadí výstupu může být méně efektivní než vytváření neseřazeného výstupu.

Index Seek je logický a fyzický operátor.
Indexová cívka Operátor indexu obsahuje predikát hledání v podokně Vlastnosti. Operátor indexového zásobníku prohledá vstupní řádky, umístí kopii každého řádku do skrytého pomocného souboru, uloženého v databázi tempdb a existujícího pouze po dobu trvání dotazu, a vytvoří neclusterovaný index na těchto řádcích. To vám umožňuje využít schopnost hledání indexů k výpisu pouze těch řádků, které splňují podmínku filtrování . Pokud je operátor přetočen (například operátorem vnořených smyček), ale není potřeba přepojení, místo opětovného prohledání vstupu se použijí načtená data.

Index Spool je fyzický operátor.
aktualizace indexu Aktualizace indexu fyzický operátor aktualizuje řádky ze vstupu v neclusterovaném indexu zadaném v podokně Vlastnosti. Pokud je přítomen predikát z sady, nastaví se každý aktualizovaný sloupec na tuto hodnotu.

Aktualizace indexu je fyzický operátor.
Vnitřní spojení Operátor Inner Join vrátí každý řádek, který splňuje predikát spojení prvního (horního) vstupu s druhým (dolním) vstupem.

inner join je logický operátor.
Vložit Operátor Vložit umístí každou řádku z jeho vstupu do objektu specifikovaného v podokně Vlastnosti. Fyzickým operátorem je buď operátor vložení tabulky , vložení indexu, nebo vložení seskupeného indexu.

Insert je logický operátor.
Vložený sken V triggerech operátor Inserted Scan prohledá vloženou tabulku.

Vložený sken je logický a fyzický operátor.
vnitřní Vnitřní operátor vyvolá interní funkci Transact-SQL.

Vnitřní je jazykový prvek.
Iterátor Ikona iterátoru catchall se zobrazí, když logika, která vytváří grafické showplany, nenajde vhodnou ikonu iterátoru. Ikona catchall nemusí nutně znamenat chybový stav.
vyhledávání klíčů Operátor vyhledávání klíčů je vyhledávání záložek v tabulce s clusterovaným indexem. Podokno Vlastnosti obsahuje název clusterovaného indexu a klíč clusteringu použitý k vyhledání řádku v clusterovém indexu. Hledání klíče je vždy doprovázeno operátorem vnořených smyček. Pokud se klauzule WITH PREFETCH zobrazí v podokně Vlastnosti, procesor dotazu zjistil, že při vyhledávání záložek v clusterovém indexu je optimální použít asynchronní předběžné načtení (dopředu).

Použití operátoru Key Lookup v plánu dotazu naznačuje, že dotaz může těžit z optimalizace výkonu. Výkon dotazů se například může zlepšit přidáním krytého indexu.
sada klíčů Operátor keyset používá kurzor, který může zobrazit aktualizace, ale ne vložení provedené jinými uživateli.
jazykový prvek Element jazyka ikonu catchall se zobrazí, když logika, která vytváří grafické showplany, nenajde vhodnou ikonu pro iterátor. Ikona catchall nemusí nutně znamenat chybový stav.
Lazy Spool Lazy Spool logický operátor ukládá každý řádek ze vstupu do skrytého dočasného objektu uloženého v databázi tempdb. Pokud je operátor zpětně posouván (například operátorem Vnořených smyček), ale není potřeba nové připojení, místo opětovného naskenování vstupu se použijí spoolovaná data. Pokud je potřeba znovu navazovat vazby, zahodí se zařazovaná data a objekt zařazování se znovu sestaví opětovným prohledáním (přepojí) vstupu. Operátor Lazy Spool sestaví soubor spoolu zpomaleným způsobem, tedy pokaždé, když nadřazený operátor spoolu požádá o řádek, operátor zařazování získá řádek od svého vstupního operátoru a uloží ho do spoolu, místo spotřebovávání všech řádků najednou.

Lazy Spool je logický operátor.
Žádný levý antimi join Operátor Left Anti Semi Join vrátí každý řádek z prvního (horního) vstupu, pokud druhý (dolní) vstup neobsahuje žádný odpovídající řádek. Pokud v podokně Vlastnosti neexistuje žádný predikát spojení, je každý řádek odpovídajícím řádkem.

Left Anti Semi Join je logický operátor.
Žádný levé vnější spojení Operátor Levé vnější spojení vrátí každý řádek, který splňuje predikát spojení prvního (horního) vstupu s druhým (dolním) vstupem. Vrátí také všechny řádky z prvního vstupu, které nemají žádné odpovídající řádky ve druhém vstupu. Nesousoucí řádky ve druhém vstupu se vrátí jako hodnoty null. Pokud v podokně Vlastnosti neexistuje žádný predikát spojení, je každý řádek odpovídajícím řádkem.

levé vnější spoj je logický operátor.
Žádný Levý semispoj Operátor Levá střední spojení vrátí každý řádek z prvního (horního) vstupu, pokud je ve druhém (dolním) vstupu odpovídající řádek. Pokud v podokně Vlastnosti neexistuje žádný predikát spojení, je každý řádek odpovídajícím řádkem.

Levé semi spojení je logický operátor.
prohledávání řádků protokolu Operátor Prohledávání řádků protokolu prohledá transakční protokol.

Log Row Scan je logický a fyzický operátor.
interval sloučení Interval sloučení operátor slučuje více (potenciálně překrývajících) intervalů, aby se vytvořily minimální nepřekryvné intervaly, které se pak používají k hledání položek indexu. Tento operátor se obvykle zobrazí před jedním nebo více skalárními operátory Konstantní prohledávání, které vytvoří intervaly (reprezentované jako sloupce v řádku), které tento operátor sloučí.

Interval sloučení je logický a fyzický operátor.
sloučení spojení Operátor Merge Join provádí vnitřní spojení, levé vnější spojení, levé střední spojení, levé antimi spojení, pravé vnější spojení, pravé střední spojení, pravé antimi spojení a sjednocovací logické operace.

V podokně Vlastnosti obsahuje operátor Sloučení spojení predikát sloučení, pokud operace provádí spojení 1:N, nebo predikát sloučení M:N, pokud operace provádí spojení M:N. Podokno Vlastnosti obsahuje také čárkami oddělený seznam sloupců použitých k provedení operace. Operátor Merge Join vyžaduje dva vstupy seřazené v příslušných sloupcích, pravděpodobně vložením explicitních operací řazení do plánu dotazu. Slučovací spojení je zvlášť efektivní, pokud není potřeba explicitní řazení, například pokud je v databázi vhodný index B-stromu nebo pokud je možné pořadí řazení využít pro více operací, jako je slučovací spojení a seskupení s rollup.

Sloučení spojení je fyzický operátor. Další informace naleznete v tématu Principy spojení sloučení.
vnořené smyčky Operátor vnořené smyčky provádí vnitřní spojení, levé vnější spojení, levé semi spojení a logické operace levé anti semi spojení.

Spojení vnořených smyček provádějí vyhledávání ve vnitřní tabulce pro každý řádek vnější tabulky, obvykle pomocí indexu. Procesor dotazů se rozhodne na základě předpokládaných nákladů, zda se má vnější vstup seřadit, aby se zlepšila lokalita hledání v indexu nad vnitřním vstupem. Všechny řádky, které splňují (volitelné) predikát v podokně Vlastnosti, se vrátí podle potřeby na základě prováděné logické operace. Pokud je atribut OPTIMIZED nastaven na True, znamená to, že se používají optimalizované vnořené smyčky (nebo dávkové řazení).

Nested Loops je fyzický operátor. Další informace najdete v tématu Principy spojení vnořených smyček.
Žádný Online vložení indexu Operátor Online Index Insert označuje, že operace indexu (vytvoření, změna nebo odstranění) se provádí online. To znamená, že podkladová data tabulky zůstávají dostupná uživatelům během operace indexu.

Online Index Insert je fyzický operátor.
Žádné Paralelismus Operátor Parallelism (nebo Exchange Iterator) provádí distribuování datových proudů, shromažďování datových proudů a přerozdělování datových proudů jako logické operace. Podokno Vlastnosti může obsahovat predikát sloupců rozdělení se seznamem odděleným čárkami. Podokno Vlastnosti může také obsahovat pořadí podle predikátu, ve výpisu sloupců pro zachování pořadí řazení během dělení.

Poznámka: Pokud byl dotaz zkompilován jako paralelní dotaz, ale při spuštění je proveden jako sériový dotaz, výstup showplan generovaný SET STATISTICS XML nebo pomocí možnosti Zahrnout skutečný plán provádění v SQL Server Management Studio neobsahuje prvek RunTimeInformation pro operátor Parallelism. Ve výstupu SET STATISTICS PROFILE jsou skutečné počty řádků a skutečný počet spuštění zobrazeny jako nuly pro operátor Paralelismus. Pokud dojde k některé z podmínek, znamená to, že operátor Parallelism byl použit pouze během kompilace dotazu, a ne v plánu dotazu modulu runtime. V některých případech se plány paralelních dotazů spouštějí sériově, pokud na serveru dochází k vysokému souběžnému zatížení.

Paralelizace je fyzický operátor. Další informace o paralelismu naleznete v tématu Operátor paralelismu.
prohledávání tabulky parametrů Operátor Prohledávání tabulky parametrů prohledá tabulku, která funguje jako parametr v aktuálním dotazu. Obvykle se používá pro INSERT dotazy v rámci uložené procedury.

prohledávání tabulky parametrů je logický a fyzický operátor.
Žádný Částečná agregace Částečná agregace se používá v paralelních plánech. Použije agregační funkci na co nejvíce vstupních řádků, aby zápis na disk (označovaný jako "rozlití") nebyl nutný. Hash Match je jediný fyzický operátor (iterátor), který implementuje částečnou agregaci.

částečný agregát je logický operátor.
Dotaz na základní soubor Operátor Population Query naplní pracovní tabulku kurzoru při otevření kurzoru.
aktualizovat dotaz Operátor Refresh Query načte aktuální data pro řádky v vyrovnávací paměti pro načtení.
Vzdálené odstranění Operátor vzdáleného odstranění odstraní vstupní řádky ze vzdáleného objektu.

Vzdálené odstranění je logický a fyzický operátor.
prohledávání vzdáleného indexu Operátor Vzdálené prohledávání indexu prohledá vzdálený index zadaný v podokně Vlastnosti.

Vzdálené prohledávání indexu je logický a fyzický operátor.
hledání vzdáleného indexu Operátor Remote Index Seek využívá schopnost vzdáleného indexového objektu vyhledávat a získávat řádky. Podokno Vlastnosti obsahuje název používaného vzdáleného indexu a predikát vyhledávání.

Vzdálené vyhledávání indexu je logický a fyzický operátor.
vzdálené vložení Operátor pro Vzdálené vložení vloží vstupní řádky do vzdáleného objektu.

"Remote Insert" je logický a fyzický operátor.
vzdáleného dotazu Operátor vzdáleného dotazu odešle dotaz do vzdáleného zdroje. Text dotazu odeslaného na vzdálený server se zobrazí v podokně Vlastnosti.

Vzdálený dotaz je logický a fyzický operátor.
vzdálené skenování Operátor vzdálené kontroly prohledá vzdálený objekt. Název vzdáleného objektu se zobrazí v podokně Vlastnosti.

Remote Scan je logický a fyzický operátor.
vzdálená aktualizace Operátor Vzdálené aktualizace aktualizuje vstupní řádky ve vzdáleném objektu.

Vzdálená aktualizace je logický a fyzický operátor.
přerozdělení proudy Operátor Repartition Streams (nebo exchange iterator) využívá více datových proudů a vytváří více datových proudů záznamů. Obsah a formát záznamu se nezmění. Pokud optimalizátor dotazů používá rastrový filtr, sníží se počet řádků ve výstupním datovém proudu. Každý záznam ze vstupního datového proudu se umístí do jednoho výstupního datového proudu. Pokud tento operátor zachovává pořadí, musí být všechny vstupní datové proudy seřazené a sloučené do několika uspořádaných výstupních datových proudů. Pokud je výstup rozdělený na oddíly, podokno Vlastnosti obsahuje sloupce oddílů predikát a sloupce dělení. Pokud je výstup seřazený, podokno Vlastnosti obsahuje pořadí podle predikátu a seřazených sloupců. Operátor se používá pouze v paralelních dotazových plánech.

Repartition Streams je logický operátor.
výsledek Operátor Result je data vrácená na konci plánu dotazu. Toto je obvykle kořenový prvek showplanu.

Výsledek je prvek jazyka.
Vyhledávání RID vyhledávání identifikátorů RID je vyhledávání záložek v haldě pomocí zadaného identifikátoru řádku (RID). Podokno Vlastnosti obsahuje popisek záložky, který slouží k vyhledání řádku v tabulce, a také název tabulky, ve které se řádek vyhledává. vyhledávání identifikátorů RID je vždy doprovázeno NESTED LOOP JOIN.

Vyhledání identifikátoru RID je fyzický operátor. Další informace o vyhledávání záložek naleznete v tématu Read Committed a Bookmark Lookup.
Žádný Pravé antisemispojení Operátor Right Anti Semi Join vypíše každý řádek z druhého (dolního) vstupu, pokud neexistuje odpovídající řádek v prvním (horním) vstupu. Odpovídající řádek je definován jako řádek, který splňuje predikát v podokně Vlastnosti (pokud neexistuje žádný predikát, každý řádek je odpovídající řádek).

Right Anti Semi Join je logický operátor.
Žádný pravé vnější spojení Operátor Pravé vnější spojení vrátí každý řádek, který splňuje spojení druhého (dolního) vstupu s každým odpovídajícím řádkem z prvního (horního) vstupu. Vrátí také všechny řádky z druhého vstupu, které neměly žádné odpovídající řádky v prvním vstupu, spojené s NULL. Pokud v podokně Vlastnosti neexistuje žádný predikát spojení, je každý řádek odpovídajícím řádkem.

Pravé vnější spojení je logický operátor.
Žádný pravé semi spojení Operátor Right Semi Join vrátí každý řádek z druhého (dolního) vstupu, pokud je v prvním (horním) vstupu odpovídající řádek. Pokud v podokně Vlastnosti neexistuje žádný predikát spojení, je každý řádek odpovídajícím řádkem.

Pravé polo připojení je logický operátor.
Frázování počtu řádků Operátor počítadla řádků prochází vstup, počítá, kolik řádků je přítomno, a vrací stejný počet prázdných řádků. Tento operátor se používá, když je důležité zkontrolovat existenci řádků, nikoli data obsažená v řádcích. Pokud například operátor Vnořených Smyček provede operaci levého polosemi spojení a predikát spojení se vztahuje na vnitřní vstup, může být mezipaměť počtu řádků umístěna v horní části vnitřního vstupu operátoru Vnořených Smyček. Potom operátor vnořené smyčky může určit, kolik řádků je výstupem fondu počtu řádků (protože skutečná data z vnitřní strany nejsou nutná) a určit, jestli se má vnější řádek vrátit.

Row Count Spool je fyzický operátor.
Žádný Segment Repartition V plánu paralelního dotazu někdy existují koncepční oblasti iterátorů. Všechny iterátory v rámci takové oblasti lze provádět paralelními vlákny. Samotné oblasti se musí spouštět sériově. Některé paralelismu iterátory v jednotlivých oblastech se nazývají větve repartition. Paralelismus iterátor na hranici dvou takových oblastí se nazývá Segment Repartition.

Větvení Repartition a Segment Repartition jsou logické operátory.
segment Operátor Segment rozdělí vstupní sadu na segmenty na základě hodnoty jednoho nebo více sloupců. Tyto sloupce se zobrazují jako argumenty v operátoru Segment. Vstup se seřadí podle těchto sloupců. Operátor používá sloupec segmentů k označení prvního řádku každého segmentu.

Segment je fyzický a logický operátor.
Projekt sekvence Operátor Sequence Project přidává sloupce pro provádění výpočtů přes seřazenou sadu. Vyžaduje rozdělení vstupní sady na segmenty na základě hodnoty jednoho nebo více sloupců.

Sekvenční Projekt je logický a fyzický operátor.
sekvence Operátor Sequence řídí široké aktualizační plány. Funkčně provede každý vstup v sekvenci (shora dolů). Každý vstup je obvykle aktualizací jiného objektu. Vrátí pouze ty řádky, které pocházejí z posledního (dolního) vstupu.

Sequence je logický a fyzický operátor.
Snímek Operátor Snapshot vytvoří kurzor, který neuvidí změny provedené jinými uživateli.
řazení Operátor Seřadit seřadí všechny příchozí řádky. Podokno Vlastnosti obsahuje buď pořadí bez duplicit podle predikátu, pokud tato operace odstraňuje duplicitní položky, nebo pořadí podle predikátu se seznamem sloupců, které jsou seřazeny a odděleny čárkami. Sloupce mají předponu hodnoty ASC, pokud jsou seřazeny vzestupně, nebo hodnoty DESC, pokud jsou seřazeny sestupně.

Sort je logický a fyzický operátor.
Rozdělení Operátor Split slouží k optimalizaci zpracování aktualizací. Rozdělí každou operaci aktualizace na operaci odstranění a operaci vložení.

Rozdělení je logický a fyzický operátor.
Spool Operátor Spool uloží zprostředkující výsledek dotazu do databáze tempdb.
Agregace proudu Operátor Stream Aggregate seskupuje řádky podle jednoho nebo více sloupců a pak vypočítá jeden nebo více agregačních výrazů vrácených dotazem. Výstup tohoto operátoru může být použit pozdějšími operátory v dotazu, vrácen klientovi nebo obojí. Operátor agregace streamu vyžaduje zadání seřazené podle sloupců v rámci skupin. Optimalizátor používá operátor Řazení před tímto operátorem, pokud data ještě nejsou seřazená z důvodu předchozího operátoru Řazení nebo kvůli uspořádanému vyhledávání nebo prohledávání indexu. V příkazu SHOWPLAN_ALL nebo v grafickém plánu provádění v SQL Server Management Studio jsou sloupce ve skupině podle predikátu uvedeny v podokně Vlastnosti a agregační výrazy jsou uvedeny ve sloupci Definované hodnoty.

agregování streamu je fyzický operátor.
Přepínač přepínač je speciální typ iterátoru zřetězení, který má n vstupy. Výraz je přidružen ke každému operátoru Switch. V závislosti na návratové hodnotě výrazu (mezi 0 a n-1) Switch zkopíruje příslušný vstupní datový proud do výstupního datového proudu. Jedním z použití Switch je sloužit k implementaci plánů dotazů zahrnujících kurzory rychlého posunu vpřed s určitými operátory, jako je například operátor TOP.

přepínač je logický a fyzický operátor.
Odstranění tabulky Operátor Table Delete odstraní řádky z tabulky zadané v podokně vlastnosti plánu provádění dotazu.

Odstranit tabulku je fyzický operátor.
vložení tabulky Operátor Table Insert vloží řádky ze vstupu do tabulky zadané v podokně Vlastnosti plánu provádění dotazu. Podokno Vlastnosti obsahuje také nastavený predikát, který označuje hodnotu, na kterou se každý sloupec nastavuje. Pokud Vložit tabulku nemá žádné podřízené položky pro vložení hodnot, pak vložený řádek se převezme ze samotného operátoru Insert.

Vložení tabulky je fyzický operátor.
sloučení tabulek Operátor Table Merge použije na haldu slučovací datový proud. Operátor odstraní, aktualizuje nebo vloží řádky do tabulky zadané v podokně Vlastnosti operátoru. Provedená operace skutečně závisí na hodnotě vlastnosti ActionColumn za běhu.

Sloučení tabulek je fyzický operátor.
Prohledávání tabulek Operátor Prohledávání tabulky načte všechny řádky z tabulky zadané v podokně Vlastnosti plánu provádění dotazu. Pokud se v podokně vlastností zobrazí a predikát, vrátí se pouze řádky, které splňují tento predikát.

prohledávání tabulky je logický a fyzický operátor.
dočasné úložiště tabulky Operátor Table Spool naskenuje vstup a umístí kopii každého řádku do skryté spoolingové tabulky, která je uložená v databázi tempdb a existuje pouze po dobu života dotazu. Pokud je operátor přetočen – například operátorem vnořených smyček – ale není potřeba přebindovat, místo opětovného prohledání vstupu se použijí uložená data.

Tabulkový spool je fyzickým operátorem.
aktualizace tabulky Operátor Table Update aktualizuje vstupní řádky v tabulce zadané v podokně Vlastnosti plánu provádění dotazu. sada predikát určuje hodnotu každého aktualizovaného sloupce. Tyto hodnoty mohou být odkazovány v klauzuli SET nebo jinde v tomto operátoru a jinde v tomto dotazu.

Table Update je fyzický operátor.
Tabulková funkce Operátor funkce s hodnotou tabulky vyhodnotí funkci s hodnotou tabulky (Transact-SQL nebo CLR) a uloží výsledné řádky do databáze tempdb . Když nadřazené iterátory požadují řádky, funkce s hodnotou tabulky vrátí řádky z tempdb.

Dotazy s voláním funkcí s hodnotami tabulky generují plány dotazů pomocí funkce s hodnotou tabulky iterátoru. Tabulkovou funkci lze vyhodnotit s různými hodnotami parametrů:

- Funkce pro čtení XML s hodnotou tabulky přijímá XML BLOB jako parametr a vytvoří sadu řádků představující uzly XML v pořadí dokumentu XML. Jiné vstupní parametry můžou omezit uzly XML vrácené do podmnožina dokumentu XML.

- čtečka XML funkce hodnotné tabulky s filtrem XPath je speciální typ funkce Čtečka tabulky XML s hodnotou tabulky, která omezuje výstup na uzly XML, které vyhovují výrazu XPath.

funkce s hodnotou tabulky je logický a fyzický operátor.
nahoře Operátor Top prohledá vstup a vrátí pouze první zadaný počet nebo procento řádků, pravděpodobně na základě pořadí řazení. Podokno Vlastnosti může obsahovat seznam sloupců, u kterých se kontroluje vazby. V aktualizačních plánech se operátor Top používá k vynucování limitů na počet řádků.

Top je logický a fyzický operátor.
Žádný Řazení podle top N Top N řazení je podobné iterátoru řazení, ale vyžaduje pouze prvních N řádků, nikoliv celou sadu výsledků. U malých hodnot Nse modul spouštění dotazů SQL Serveru pokusí provést celou operaci řazení v paměti. U velkých hodnot Nse modul spouštění dotazů uchýlí k obecnější metodě řazení, na kterou N není parametr.
UDX Rozšířené operátory (UDX) implementují jednu z mnoha operací XQuery a XPath v SQL Serveru.

- Rozšířený operátor (UDX) FOR XML se používá k serializaci relačního řádku, který nastaví vstupy do reprezentace XML v jednom sloupci BLOB v jednom výstupním řádku. Jedná se o operátor agregace xml citlivé na pořadí.

- Rozšířený operátor (UDX) XML SERIALIZER je operátor agregace XML citlivé na pořadí. Zadává řádky představující uzly XML nebo skaláry XQuery v pořadí dokumentu XML a vytvoří serializovaný objekt BLOB XML v jednom sloupci XML v jednom výstupním řádku.

- Rozšířený operátor (UDX) XML FRAGMENT SERIALIZER je speciální typ XML SERIALIZER, který se používá ke zpracování vstupních řádků, jež představují fragmenty XML, které jsou vkládány v rámci rozšíření modifikace dat pomocí příkazu XQuery insert.

– Rozšířený operátor (UDX) XQUERY STRING vyhodnotí hodnotu řetězce XQuery vstupních řádků představujících uzly XML. Jedná se o operátor agregace řetězců s ohledem na pořadí. Vypíše jeden řádek se sloupci představující skalár XQuery, který obsahuje řetězcovou hodnotu vstupu.

- Rozšířený operátor (UDX) XQUERY LIST DECOMPOSER je rozkladový operátor XQuery seznamu. Pro každý vstupní řádek představující uzel XML vytvoří jeden nebo více řádků každý představující skalár XQuery obsahující hodnotu prvku seznamu, pokud je vstup typu seznamu XSD.

– Rozšířený operátor (UDX) XQUERY DATA vyhodnotí funkci XQuery fn:data() na vstupu představujících uzly XML. Jedná se o operátor agregace řetězců citlivý na pořadí. Vypíše jeden řádek se sloupci představujícími skalár XQuery, který obsahuje výsledek fn:data().

– Rozšířený operátor XQUERY CONTAINS vyhodnotí funkci XQuery fn:contains() na vstupu představující uzly XML. Jedná se o operátor agregace řetězců citlivý na pořadí. Vypíše jeden řádek se sloupci představujícími skalár XQuery, který obsahuje výsledek fn:contains().

- Rozšířený operátor UPDATE XML NODE aktualizuje uzel XML v XQuery nahradit rozšíření pro úpravy dat v modify() metodě typu XML.

UDX operátory jsou logické i fyzické operátory.
Unie Operátor Union prohledá více vstupů a vypíše jednotlivé řádky naskenované a odebere duplicity.

Unie je logický operátor.
Aktualizace Operátor Update aktualizuje každý řádek ze vstupu v objektu zadaném v podokně vlastnosti plánu provádění dotazu.

Update je logický operátor. Fyzický operátor je aktualizace tabulky , aktualizace indexu nebo aktualizace clusterovaného indexu .
zařazování oken Operátor Navíječ oken rozšiřuje každý řádek do sady řádků, které reprezentují okno k němu přidružené. V dotazu klauzule OVER definuje okno v sadě výsledků dotazu a funkce okna pak vypočítá hodnotu pro každý řádek v okně.

Fond oken je logický a fyzický operátor.

Poznámka

Dokumentace používá termín B-tree obecně v odkazu na indexy. V indexech rowstore databázový stroj implementuje strom B+. To neplatí pro indexy columnstore ani indexy v tabulkách optimalizovaných pro paměť. Další informace najdete v SQL Serveru a architektuře indexu Azure SQL a průvodci návrhem.