Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Az operátorok azt írják le, hogy a SQL Server adatbázismotor hogyan futtat egy lekérdezést. A Lekérdezésoptimalizáló operátorok használatával készít lekérdezéstervet az eredmény létrehozásához vagy a lekérdezésben megadott művelet végrehajtásához. A lekérdezési terv egy fizikai operátorokból álló fa. A bal szélső operátor a gyökér, amely az általános végrehajtást vezérli. Egy SELECT utasítás esetén a gyökér általában egy eredményhalmazt ad vissza az ügyfélnek. Adatmódosítási utasítások (INSERT, UPDATE, DELETE, MERGE) vagy hozzájuk hasonló SELECT...INTOutasítások esetén a gyökér hajtja a módosítást, és előfordulhat, hogy nem ad vissza sorokat. A bemenet nélküli operátorok a fa legszélső jobb oldalán levő levélcsomópontok, amelyek általában a tárolóból olvasnak adatokat. A köztes operátorok jobbról balra haladva átalakítják, szűrik vagy összekapcsolják az adatokat a terven keresztül.
A lekérdezéstervet az SET SHOWPLAN utasítások, az SQL Server Management Studio grafikus végrehajtási tervbeállításai vagy a Kiterjesztett események bemutatóterves eseményei segítségével tekintheti meg.
Operátortípusok
Az operátorok logikai és fizikai operátorként vannak besorolva.
Logikai operátorok
A logikai operátorok a lekérdezés feldolgozásához használt relációs algebrai műveletet írják le. Más szóval a logikai operátorok elméletileg leírják, hogy milyen műveletet kell végrehajtani.
Fizikai operátorok
A fizikai operátorok implementálják a logikai operátorok által leírt műveletet. Minden fizikai operátor egy objektum vagy rutin, amely egy műveletet hajt végre. Egyes fizikai operátorok például egy tábla, index vagy nézet oszlopaihoz vagy soraihoz férnek hozzá. Más fizikai operátorok olyan műveleteket hajtanak végre, mint például számítások, összesítések, adatintegritási ellenőrzések vagy illesztések. A fizikai operátorokhoz költségek társulnak.
A fizikai operátorok inicializálódnak, adatokat gyűjtenek és bezárnak. A fizikai operátor a következő három metódushívást tudja fogadni:
Open(): AOpen()módszer hatására a fizikai operátor inicializálja magát, és beállítja a szükséges adatstruktúrát. Bár a fizikai operátor sokOpen()hívást fogadhat, általában csak egyet fogad.GetRow(): AGetRow()módszer hatására egy fizikai operátor lekéri az első vagy az azt követő adatsort. A fizikai operátor nulla vagy többGetRow()hívást fogadhat.Close(): AClose()módszer miatt a fizikai operátor bizonyos tisztítási műveleteket hajt végre, és leállítja magát. A fizikai operátorok csak egyClose()hívást kapnak, de aClose()hívás nem mindig garantált.
A GetRow() metódus egy adatsort ad vissza, és a grafikus és XML megjelenítési terv által létrehozott kimenetben az, hogy hányszor hívták meg, ActualRows néven jelenik meg. Az ezekről a SET lehetőségekről további információt a SET STATISTICS PROFILE és a SET STATISTICS XML című témakörben talál.
Nyelvi elemek
A lekérdezésterv egyes operátorai relációs műveletek helyett Transact-SQL language elemeket jelölnek. Ilyenek például a változók hozzárendelése, a típusátalakítás és a vezérlőfolyamat (IF/WHILE). A nyelvi elemek nem logikai vagy fizikai operátorként lesznek besorolva.
Újrakötések, visszatekerések és vizsgálatok vége
A következő számlálók megjelennek a showplan kimenetében, és segítenek megérteni, hogy egy operátor milyen gyakran fut újra.
A showplan kimenetében megjelenő ActualRebinds és ActualRewinds számok arra vonatkoznak, hogy hányszor hívták meg a Open() metódust. Ha egy operátor nem a beágyazott hurkok belső oldalán található, az ActualRebinds értéke egy, az ActualRewinds értéke pedig nulla. Ha egy operátor egy hurokcsatlakozás belső oldalán található, az újrakötések és visszatekerések teljes számának meg kell egyezik az illesztés külső oldalán feldolgozott sorok számával. Az újrakötés azt jelenti, hogy az illesztés egy vagy több korrelált paramétere módosult, és a belső oldalt újra kell értékelni. A visszatekerés azt jelenti, hogy a korrelált paraméterek egyike sem változott, és a korábbi belső eredményhalmaz újra felhasználható.
ActualRebinds és ActualRewinds az XML showplan kimeneteként jelennek meg, amelyet SET STATISTICS XML ON és a grafikus showplan használatával állítottak elő. Ezek olyan operátorok esetében vannak feltöltve, mint az Indexsor, a Távoli lekérdezés, a Sorszámsor, a Rendezés, a Táblázatsor és a Táblaérték függvény. Előfordulhat, hogy az ActualRebinds és ActualRewinds is ki lesznek töltve például a Assert és Filter operátorok esetében, amikor a StartupExpression attribútum értéke TRUE.
Ha az ActualRebinds és az ActualRewinds megtalálható egy XML-bemutatótervben, azok az EstimateRebindshez és a EstimateRewindshez hasonlóak. Ha hiányoznak, a sorok becsült száma (EstimateRows) összehasonlítható a sorok tényleges számával (ActualRows). Az aktuális grafikus kiértékelési terv kimenete nullákat jelenít meg az újrakötések és visszatekerések esetén, ha ezek hiányoznak.
A kapcsolódó számláló( ActualEndOfScans) az XML és a grafikus megjelenítési tervben érhető el. Amikor egy fizikai operátor eléri az adatfolyam végét, ez a számláló egyenként növekszik. A fizikai operátorok elérhetik az adatfolyam nulla, egy vagy többszöri végét. Az újrakötésekhez és visszatekerésekhez hasonlóan a letapogatások végeinek száma több is lehet, de csak akkor, ha az operátor egy hurokillesztés belső oldalán található. A szkennelések végszáma kisebb vagy egyenlő lehet az újrakötések és visszatekerések számának összegével.
A Lekérdezésoptimalizáló logikai és fizikai operátorok leképezése
A Lekérdezésoptimalizáló logikai operátorokból álló faként hoz létre lekérdezéstervet. Miután a Lekérdezésoptimalizáló létrehozta a tervet, minden logikai operátorhoz kiválaszt egy fizikai operátort. A Lekérdezésoptimalizáló költségalapú megközelítéssel határozza meg, hogy melyik fizikai operátor implementál logikai operátort.
A logikai műveletet általában több fizikai operátor is implementálhatja. Ritkán azonban a fizikai operátorok több logikai műveletet is implementálhatnak.
Kötegelt üzemmód végrehajtása
A batch módú végrehajtás egy olyan lekérdezésfeldolgozási módszer, amely több sort dolgoz fel egyszerre, nem pedig egymás után egyesével, innen származik a köteg kifejezés. A batch módú feldolgozás olyan algoritmusokat használ, amelyek többmagos processzorokra vannak optimalizálva, és nagyobb memóriateljesítményt biztosítanak a modern hardvereken. A Batch módot több operátor is használhatja a sor alapú és oszlop alapú objektumokhoz. További információ: Lekérdezésfeldolgozási architektúra útmutatója.
Végrehajtási terv olvasása
A grafikus végrehajtási tervben a nyilak jobbról balra mutatnak, és az adatfolyamot jelölik. Futásidőben ez ellentétes irányban működik: az operátorok lekéréses alapúak, és csak akkor végeznek munkát, amikor igényelnek adatokat.
A gyökérművelet meghívja GetRow() a gyermekén, amely meghívja a saját gyermekeit, amíg egy levélcsomópont be nem olvas egy sort a tárolóból, és továbbítja vissza a láncolaton keresztül. A Top operátor alatti fürtözött index beolvasás például nem vizsgálja a teljes táblát. A vizsgálat azonnal leáll, amint Top elegendő sorral rendelkezik. Köteg módban minden hívás egy sorköteget ad vissza egyetlen sor helyett. Mindkét olvasási irány hasznos: jobbról balra az egyes operátorok adatai jelennek meg, a balról jobbra pedig az, hogy melyik operátor hajtja a munkát.
Operátorok leírásai
Ez a szakasz a logikai és fizikai operátorok leírását tartalmazza. A lekérdezési tervek és operátorok tulajdonságait az SQL Server Management Studio (SSMS) Lekérdezésterv nézet Tulajdonságok paneljén tekintheti meg.
Jótanács
Ha egy grafikus végrehajtási terv ikonja sárga körrel rendelkezik két jobbról balra mutató nyíllal, az azt jelenti, hogy az operátor párhuzamosan futott. A párhuzamosságról további információt a Szál és a Feladatarchitektúra útmutatójában talál.
| Icon | Showplan operátor | Description |
|---|---|---|
| Adaptív illesztés | Az Adaptív illesztés operátor lehetővé teszi a hash illesztés vagy a beágyazott hurkok illesztési módszerének kiválasztását, miután az első bemenetet beolvasták. Az adaptív csatlakozás egy fizikai műveletvégző. További információ: Adaptív illesztések ismertetése. |
|
| Összesítés | Az Összesítés operátor egy vagy több összesítő függvényt tartalmazó kifejezéseket számít ki. Az összesítés logikai operátor. Implementálható a Stream Aggregate, Hash Match, Window Aggregate vagy UserDefinedAggregate (CLR) operátorral. |
|
| Aritmetikai kifejezés | Az Aritmetic Expression operátor egy új értéket számít ki egy sor meglévő értékeiből. Az aritmetikai kifejezés nem használatos az SQL Server újabb verzióiban. | |
| Állít | Az Assert operátor ellenőrzi a feltételt. Például ellenőrzi a hivatkozási integritást, vagy biztosítja, hogy a skaláris részqueryk egy sort adjanak vissza. Az Assert operátor minden bemeneti sor esetében kiértékeli a végrehajtási terv Tulajdonságok paneljén lévő kifejezést. Ha ez a kifejezés értéke NULL, a sor áthalad az Assert operátoron, és a lekérdezés végrehajtása folytatódik. Ha ez a kifejezés nem null értékű, a megfelelő hiba jelenik meg.Assert egy fizikai operátor. |
|
| Hozzárendel | A Hozzárendelés operátor egy kifejezés vagy egy állandó értékét rendeli hozzá egy változóhoz. A Hozzárendelés egy nyelvi elem. |
|
| None | Aszinkron concatenáció | Az Async Concat operátor csak távoli lekérdezésekben (elosztott lekérdezésekben) használható. N gyermekekkel és egy szülőcsomópontokkal rendelkezik. A gyermekek egy része általában távoli számítógép, amely részt vesz egy elosztott lekérdezésben.
Az aszinkron összefűzési problémák az összes gyermek egyidejű hívásait érintik Open() , majd bitképet alkalmaznak minden gyermekre. Az 1 minden egyes bitnél az Async Concat igény szerint küldi el a kimeneti sorokat a szülőcsomópontnak.Az Async Concat egy fizikai operátor. |
| Tömeges hash tábla összeállítása | A Batch Hash Table Build operátor egy kötegelt hash táblát hoz létre egy memóriaoptimalizált oszlopalapú indexhez. Csak SQL Server 2012-re (11.x) vonatkozik. |
|
| Bitkép | Az SQL Server a Bitmap operátort használja a bitképszűrés párhuzamos lekérdezési tervekben való implementálásához. A bitképszűrés felgyorsítja a lekérdezések feldolgozását azáltal, hogy kiküszöböli azokat a kulcsértékeket tartalmazó sorokat, amelyek nem tudnak illesztési rekordokat létrehozni, mielőtt sorokat adna át egy másik operátoron, például a Párhuzamosság operátoron. A bitképszűrők az operátorfa egyik részén található táblázat értékeinek tömör ábrázolását használják a második tábla sorainak szűréséhez a fa egy másik részén. Ha a lekérdezés korai szakaszában eltávolítja a szükségtelen sorokat, a későbbi operátorok kevesebb sort dolgoznak fel, és a lekérdezés általános teljesítménye javul. Az optimalizáló határozza meg, hogy egy bitkép mikor elég szelektív ahhoz, hogy hasznos legyen, és mely operátorokban alkalmazza a szűrőt. A bitkép egy fizikai operátor. |
|
| Bitkép létrehozása | A Bitkép létrehozása operátor a bemutatóterv kimenetében jelenik meg, ahol a bitképek létre vannak hozva. Bitmap Create egy logikai operátor. |
|
| None | Ág újrapartíciója | Egy párhuzamos lekérdezési tervben néha vannak az iterátorok fogalmi régiói. Az ilyen régión belüli összes iterátor párhuzamos szálakon futhat. Maguknak a régióknak sorosan kell futniuk. Az egyes régiók párhuzamossági iterátorainak egy részét ág-újrapartíciónak nevezzük. A két ilyen régió határán található párhuzamossági iterátort szegmentált újrapartíciónak nevezzük. Az ág újraelosztás és a szegmens újraelosztás logikai operátorok. |
| Adás | Broadcast egy logikai operátor. |
|
| Fürtözött index törlése | A Fürtözött index törlése operátor törli az Objektum tulajdonságban megadott fürtözött index sorait a grafikus és XML-megjelenítési terv Tulajdonságok panelén. Ha a SeekPredicates vagy Predicate tulajdonság jelen van, akkor csak azokat a sorokat törli a rendszer, amelyek megfelelnek a predikátumnak. Megjegyzés: Az Objektum tulajdonság további nem kizárólagos indexeket is felsorolhat, amelyeket az operátor a fürtözött indexel egy időben módosít. Clustered Index Delete fizikai operátor. |
|
| Fürtözött index beszúrása | A Fürtözött index beszúrása operátor sorokat szúr be a bemenetéből az Objektum tulajdonságban megadott fürtözött indexbe, amely a grafikus és XML-megjelenítési terv Tulajdonságok panelén szerepel. Az XML-bemutatóterv tartalmazza a SetPredicate és a ColumnReference tulajdonságokat, amelyek segítségével meghatározható, hogy az egyes oszlopok milyen értékre vannak beállítva. Ha a Clustered Index Insert nem tartalmaz gyermekeket a beszúrási értékekhez, a beszúrt sor magából a Insert operátorból származik. Megjegyzés: Az Objektum tulajdonság további nem kizárólagos indexeket is felsorolhat, amelyeket az operátor a fürtözött indexel egy időben módosít. A fürtözött index beszúrás fizikai operátor. |
|
| Fürtözött index egyesítése | A Fürtözött indexegyesítés operátor egyesítési adatfolyamot alkalmaz egy fürtözött indexre. Az operátor törli, frissíti vagy beszúrja a sorokat az Objektum tulajdonságban megadott fürtözött indexből, amely a grafikus és XML-megjelenítési terv Tulajdonságok panelén szerepel. A ténylegesen végrehajtott művelet az ActionColumn tulajdonság futásidejű értékétől függ. Megjegyzés: Az Objektum tulajdonság további nem kizárólagos indexeket is felsorolhat, amelyeket az operátor a fürtözött indexel egy időben módosít. A fürtözött index összevonás egy fizikai operátor. |
|
| Fürtözött indexvizsgálat | A Fürtözött indexvizsgálat operátor megvizsgálja az Objektum tulajdonságban megadott fürtözött indexet, amely a grafikus és XML-megjelenítési terv Tulajdonságok panelén szerepel. Ha egy választható Predikátum tulajdonság jelen van, a rendszer csak azokat a sorokat adja vissza, amelyek megfelelnek a predikátumnak. Ha a Tulajdonságok panelen vagy az XML-bemutatósík rendezett tulajdonsága Igaz, a lekérdezésfeldolgozó megállapította, hogy a sorokat abban a sorrendben kell visszaadni, amelyben a fürtözött index rendezte őket. Ha a Ordered tulajdonság False, a Database Engine a kimenet sorrendjének garantálása nélkül ellenőrzi az indexet. A SeekPredicates tulajdonság csak particionált fürtözött indexekhez érhető el. A klaszteres indexszken logikai és fizikai operátor. |
|
| Fürtözött index keresése | A fürtözött indexkeresési operátor az indexek keresési képességét használja a sorok fürtözött indexből való lekérésére. A grafikus és XML-bemutatótervEk Tulajdonságok paneljén látható Objektum tulajdonság a használt fürtözött index nevét tartalmazza. A SeekPredicates tulajdonság tartalmazza a keresés predikátumát. A Database Engine az index használatával csak azokat a sorokat dolgozza fel, amelyek megfelelnek a SeekPredicates tulajdonságnak. A Predikátum tulajdonságot is tartalmazhatja, amelyet a Database Engine kiértékel az összes olyan sorra, amely megfelel a SeekPredicates tulajdonságnak, de ez nem kötelező, és nem használ indexeket a folyamat befejezéséhez. A Rendezett tulajdonság általában igaz erre az operátorra. A fürtözött indexkeresés egy logikai és fizikai operátor. |
|
| Fürtözött indexfrissítés | A Fürtözött indexfrissítés operátor frissíti az Objektum tulajdonságban megadott fürtözött index bemeneti sorait a grafikus és XML-megjelenítési terv Tulajdonságok panelén. Ha predikátumtulajdonság van jelen, csak azok a sorok frissülnek, amelyek megfelelnek ennek a predikátumnak. Ha a SetPredicate tulajdonság jelen van, minden frissített oszlop erre az értékre van állítva. Ha a DefinedValues tulajdonság jelen van, az operátor által definiált értékek megjelennek a listában. Ezekre az értékekre hivatkozhat a SET záradék, vagy az operátor más részein, valamint a lekérdezés más részein.Megjegyzés: Az Objektum tulajdonság további nem kizárólagos indexeket is felsorolhat, amelyeket az operátor a fürtözött indexel egy időben módosít. A fürtözött indexfrissítés egy logikai és fizikai operátor. |
|
| Összeomlás | Az Összecsukás operátor optimalizálja a frissítésfeldolgozást. A frissítés végrehajtásakor (a Felosztás operátor használatával) felosztható törlésre és beszúrásra. A Tulajdonságok panel tartalmazza a GroupBy tulajdonságot, amely meghatározza a kulcsoszlopok listáját. Ha a lekérdezésfeldolgozó olyan szomszédos sorokkal találkozik, amelyek ugyanazokat a kulcsértékeket törlik és beszúrják, a különálló műveleteket egyetlen, hatékonyabb frissítési műveletre cseréli. Az összeomlás logikai és fizikai operátor. |
|
| Oszlopalapú index törlése | Az Oszloptár index törlése operátor az Objektum tulajdonságban megadott oszlopcentrikus index sorainak törlését jelöli, amely a grafikus és XML-megjelenítési terv Tulajdonságok paneljén szerepel. A törlés egy fürtözött oszlopcentrikus index esetén a Clustered Index Delete, míg egy nem fürtözött oszlopcentrikus index esetén az Index Delete operátorral történik. Az index típusa (Clustered, NonClustered, ViewClustered vagy ViewNonClustered) az XML showplan IndexKind tulajdonságában van megadva. A SeekPredicates tulajdonság nem támogatott oszlopcentrikus indextörléshez. A törlésre szánt sorokat egy gyermekoperátorból olvassák be. Columnstore index törlése egy fizikai operátor. |
|
| Oszlopcentrikus index beszúrása | Az Oszloptár index beszúrása operátor a bemenetéből származó sorok beszúrását jelöli az Objektum tulajdonságban megadott oszlopcentrikus indexbe, amely a grafikus és XML-megjelenítési terv Tulajdonságok paneljén szerepel. A beszúrás a fürtözött oszlopalapú index Fürtözött index beszúrás operátorán, illetve a nem fürtözött oszlopalapú index Index beszúrás operátorán keresztül történik. Az index típusa (Clustered, NonClustered, ViewClustered vagy ViewNonClustered) az XML showplan IndexKind tulajdonságában van megadva. Az XML-bemutatóterv tartalmazza a SetPredicate és a ColumnReference tulajdonságokat, amelyek segítségével meghatározható, hogy az egyes oszlopok milyen értékre vannak beállítva. Oszlopalapú index beszúrás egy fizikai operátor. |
|
| Oszlopcentrikus index egyesítés | Az oszlopalapú indexegyesítés egy egyesítési adatfolyam alkalmazását jelöli a fürtözött indexegyesítés operátor használatával. Az operátor törli, frissíti vagy beszúrja a sorokat az Objektum tulajdonságban megadott fürtözött oszlopcentrikus indexből, amely a grafikus és XML-megjelenítési terv Tulajdonságok paneljén szerepel. Az index típusa (Clustered, NonClustered, ViewClustered vagy ViewNonClustered) az XML showplan IndexKind tulajdonságában van megadva. A ténylegesen végrehajtott művelet az ActionColumn tulajdonság futásidejű értékétől függ. Az oszlopcentrikus indexegyesítés egy fizikai operátor. |
|
| Oszlop-elrendezésű indexvizsgálat | A Columnstore Index Scan operátor az Objektum tulajdonságban megadott oszlopcentrikus index vizsgálatát jelöli, amely a grafikus és XML-megjelenítési terv Tulajdonságok panelén található. A vizsgálat a Clustered Index Scan keresztül történik a clustered columnstore index esetében, valamint a nonclustered columnstore index Index Scan operátorán keresztül. Az index típusa (Clustered, NonClustered, ViewClustered vagy ViewNonClustered) az XML showplan IndexKind tulajdonságában van megadva. Ha egy választható Predikátum tulajdonság jelen van, a rendszer csak azokat a sorokat adja vissza, amelyek megfelelnek a predikátumnak. A SeekPredicates tulajdonság csak particionált oszlopcentrikus indexekhez érhető el, és csak egyenlőségi vagy egyenlőtlenségi feltételekhez. Ha a particionált oszlop lekérdezési predikátumban van, a partíciókivétel és a sorcsoport-eltávolítás egyaránt csökkentheti a vizsgálandó sorcsoportok számát. Columnstore Index Scan egy fizikai operátor. |
|
| Oszloptároló index frissítése | A Columnstore Index Update operátor az Objektum tulajdonságban megadott oszlopcentrikus index egy vagy több sorának frissítését jelöli, amely a grafikus és XML-megjelenítési terv Tulajdonságok paneljén található. A frissítések a halmazos oszlopalapú index Fürtözött index frissítés operátorán, illetve egy nem halmazos oszlopalapú index Index frissítés operátorán keresztül történnek. Az index típusa (Clustered, NonClustered, ViewClustered vagy ViewNonClustered) az XML showplan IndexKind tulajdonságában van megadva. A SeekPredicates tulajdonság oszlopcentrikus indexfrissítés esetén nem támogatott. A frissíteni kívánt sorokat egy gyermek operátor olvassa be. Ha a SetPredicate tulajdonság jelen van, minden frissített oszlop erre az értékre van állítva. Ha a DefinedValues tulajdonság jelen van, az operátor által definiált értékek megjelennek a listában. Ezekre az értékekre hivatkozhat a SET záradék, vagy az operátor más részein, valamint a lekérdezés más részein.Columnstore Index Update egy fizikai operátor. |
|
| Számítási skalár | A Számítási skaláris operátor kiértékel egy kifejezést, amely kiszámított skaláris értéket hoz létre. Ezt követően a rendszer visszaadhatja a felhasználónak, vagy hivatkozhat rá a lekérdezés más részén, illetve mindkettő. Mindkettőre példa lehet egy szűrő predikátumban vagy illesztés predikátumban. Compute Scalar operátorok, amelyek a SET STATISTICS XML jelennek meg, előfordulhat, hogy nem tartalmazzák a RunTimeInformation elemet. Grafikus megjelenítési terv esetén előfordulhat, hogy a Tényleges sorok, a Tényleges újrakötések és a Tényleges visszatekerések nem jelennek meg a Tulajdonságok ablakban, ha az SQL Server Management Studióban a Tényleges végrehajtási terv belefoglalása lehetőség van kiválasztva. Ez azt jelenti, hogy bár ezeket az operátorokat a lefordított lekérdezési tervben használták, a munkájukat más operátorok végezték a futtatókörnyezeti lekérdezési tervben. A SET STATISTICS PROFILE által generált showplan-kimenet végrehajtásainak száma megegyezik a SET STATISTICS XML által generált showplanokban található újrakötések és visszatekerések összegével.A Számítási skalár egy logikai és fizikai operátor. |
|
| Összeláncolás | Az összefűzési operátor több bemenetet vizsgál, és visszaadja az egyes sorokat.
Az összefűzést általában a Transact-SQL UNION ALL szerkezet implementálásához használják. Az Összefűzés fizikai operátor két vagy több bemenettel és egy kimenettel rendelkezik. Az összefűzés sorokat másol az első bemeneti adatfolyamból a kimeneti adatfolyamba, majd minden további bemeneti adatfolyam esetében megismétli ezt a műveletet.Az összefűzés logikai és fizikai operátor. |
|
| Feltételes (Ha és idő) | A feltételes operátor feltételes feldolgozást végez egy IF vagy WHILE hurok alapján.
Az If és a While nyelvi elemek. |
|
| Állandó szkennelés | Az Állandó vizsgálat operátor egy vagy több állandó sort vezet be egy lekérdezésbe. A számítási skaláris operátorokat gyakran használják állandó vizsgálat után, hogy oszlopokat adjanak hozzá az állandó vizsgálat operátor által létrehozott sorokhoz.
Az állandó vizsgálat egy vagy több sort hozhat létre nulla vagy több oszlopmal. Constant Scan fizikai operátor. |
|
| Megtérít | A Konvertálás operátor egy skaláris adattípust konvertál egy másikra. A konvertálás egy nyelvi elem. |
|
| Keresztbe illesztés | A Keresztcsatlakozás operátor az első (felső) bemenet minden sorát összekapcsolja a második (alsó) bemenet minden sorával. A keresztcsatlakozás logikai operátor. |
|
| Kurzor | A kurzor logikai és fizikai operátorai a kurzorműveleteket érintő lekérdezések vagy frissítések végrehajtásának leírására szolgálnak. A fizikai operátorok a kurzor feldolgozásához használt fizikai implementációs algoritmust írják le; például billentyűkészlet-vezérelt kurzor használatával. A kurzor futtatásakor minden lépéshez fizikai operátor tartozik. A logikai operátorok a kurzor egy tulajdonságát írják le, például a kurzor csak olvasható. A logikai operátorok közé tartoznak az aszinkron, optimista, elsődleges, írásvédett, görgetőzárak, másodlagos és szinkron operátorok. A fizikai operátorok közé tartozik a dinamikus, a lekérdezés lekérése, a kulcskészlet, a populációlekérdezés, a lekérdezés frissítése és a pillanatkép. |
|
| Kijelent | A Deklarál operátor egy helyi változót foglal le a lekérdezési tervben. A Declare egy nyelvi elem. |
|
| Törlés | A Törlés operátor törli azokat a sorokat (objektumból), amelyek megfelelnek a Tulajdonságok panel opcionális predikátumának. A törlés logikai operátor. |
|
| Törölt vizsgálat | Az eseményindítókban a Törölt vizsgálat operátor megvizsgálja a törölt táblát. Deleted Scan egy logikai és fizikai operátor. |
|
| None | Eltérő | A Distinct operátor eltávolítja az ismétlődő elemeket egy sorkészletből vagy egy értékgyűjteményből. Distinct logikai operátor. |
| None | Eltérő rendezés | A Distinct Sort logikai operátor megvizsgálja a bemenetet, eltávolítja az ismétlődéseket és rendezést a Tulajdonságok panel OrderBy tulajdonságában megadott oszlopok szerint. A Distinct Sort egy logikai operátor. |
| Streamek elosztása | A Streamek elosztása operátor csak párhuzamos lekérdezési tervekben használható. A Streamek elosztása operátor egyetlen bemeneti rekordstreamet használ, és több kimeneti streamet hoz létre. A rekord tartalma és formátuma nem változik. A bemeneti adatfolyam minden rekordja megjelenik az egyik kimeneti adatfolyamban, kivéve, ha a particionálás típusa Szórás, ebben az esetben minden bemeneti sor megjelenik az összes kimeneti adatfolyamon. Ez az operátor automatikusan megőrzi a kimeneti adatfolyamok bemeneti rekordjainak relatív sorrendjét. A kivonatolás általában arra szolgál, hogy eldöntse, melyik kimeneti streamhez tartozik egy adott bemeneti rekord. Ha a kimenet particionált, akkor a Tulajdonságok panel tartalmazza a PartitionColumns tulajdonságot és a particionálási oszlopokat. Distribute Streams logikai operátor. |
|
| Dinamikus | A dinamikus operátor egy kurzort használ, amely láthatja a mások által végzett összes módosítást. A dinamikus egy fizikai operátor. |
|
| Gyors Spool | A Lelkes Spool operátor a teljes bemenetet átveszi, és minden sort egy rejtett ideiglenes objektumban tárol, amely a tempdb-adatbázisban van tárolva. Ha az operátort visszatekerik (például egy beágyazott hurkok operátorral), de nincs szükség újrakötésre, a rendszer a bemenet újbóli beolvasása helyett a pufferelt adatokat használja. Ha újrakötésre van szükség, a rendszer elveti a sorba szedett adatokat, és a rendszer újraépíti a várólistás objektumot a (rebound) bemenet újrakonfigurálásával. A Eager Spool operátor "buzgó" módon hozza létre a spool fájlját: amikor a spool szülő operátora az első sort kéri, a spool operátor a bemeneti operátor összes sorát felhasználja, és azokat a spoolban tárolja. Eager Spool egy logikai operátor. |
|
| Lekérdezés lekérése | A Lekérdezés visszakeresése operátor kiválasztja a sorokat, amikor a kurzorra vonatkozó lekérdezést adnak ki. Fetch Query fizikai operátor. |
|
| Szűrő | A Szűrő operátor megvizsgálja a bemenetet, és csak azokat a sorokat adja vissza, amelyek megfelelnek a Tulajdonságok panelen megjelenő szűrőkifejezésnek (predikátumnak). | |
| None | Adatfolyam Különböztető | A Flow Distinct operátor megvizsgálja a bemenetet, és eltávolítja az ismétlődéseket. Míg a Distinct operátor az összes bemenetet felhasználja a kimenet létrehozása előtt, a Flow Distinct operátor minden sort a bemenetből kapott módon ad vissza (kivéve, ha ez a sor duplikált, ebben az esetben elvetik). Flow Distinct logikai operátor. |
| Idegenkulcs-hivatkozások ellenőrzése | A Hivatkozási kulcsellenőrzés operátor helyben hajt végre hivatkozási integritás ellenőrzést úgy, hogy a módosított sort összehasonlítja a hivatkozási táblák soraival annak bizonyítására, hogy a módosítás nem sérti a hivatkozási integritást. A Külső kulcshivatkozások ellenőrzése operátor akkor használatos, ha ugyanazon az elsődleges vagy egyedi kulcson több mint 253 idegenkulcs-hivatkozás található. A külföldi kulcshivatkozások ellenőrzése logikai és fizikai operátor. |
|
| Teljes külső illesztés | A Teljes külső illesztés logikai operátor minden olyan sort visszaad, amely megfelel az illesztési predikátumnak a második (alsó) bemenet minden sorához csatlakoztatott első (felső) bemenetből. A következő sorokat is visszaadja: - Az első bemenet, amely nem egyezik a második bemenettel. - A második bemenet, amely nem egyezik az első bemenettel. Az egyező értékeket nem tartalmazó bemenet null értékként lesz visszaadva. Teljes külső illesztés egy logikai operátor. |
|
| Adatfolyamok összegyűjtése | A Streamek összegyűjtése operátor csak párhuzamos lekérdezési tervekben használható. A Streamek összegyűjtése operátor több bemeneti streamet használ, és a bemeneti adatfolyamok kombinálásával egyetlen kimeneti rekordstreamet hoz létre. A rekord tartalma és formátuma nem változik. Ha ez az operátor rendelésmegőrző, az összes bemeneti adatfolyamot rendezni kell. Ha a kimenet rendezve van, a Tulajdonságok panel egy OrderBy tulajdonságot és a rendezendő oszlopok nevét tartalmazza. Gather Streams logikai operátor. |
|
| Kivonat egyezése | A Kivonategyeztetés operátor egy kivonattáblát hoz létre az egyes sorok kivonatértékének kiszámításával a build bemenetéből. A HashKeysBuild és a HashKeysProbe tulajdonságok felsorolják a build- és mintavételi bemenetek kivonatértékének létrehozásához használt oszlopokat, és megjelennek a Tulajdonságok panelen. Ezután minden mintavételi sorhoz (adott esetben) kiszámít egy kivonatértéket (ugyanazt a kivonatfüggvényt használva), és megkeresi a kivonattáblában az egyezéseket. Ha reziduális predikátum van jelen (a TulajdonságokpanelEn BuildResidual vagy ProbeResidual tulajdonságként jelenik meg), akkor a predikátumnak is teljesülnie kell ahhoz, hogy a sorok egyezésnek minősüljenek. A viselkedés a végrehajtott logikai művelettől függ: - Az illesztésekhez használja az első (felső) bemenetet a kivonattábla létrehozásához, a második (alsó) bemenetet pedig a kivonattábla mintavételezéséhez. A kimeneti egyezések (vagy nem egyezések) az illesztés típusának megfelelően. Ha több illesztés ugyanazt az illesztési oszlopot használja, ezek a műveletek hash csoportba vannak csoportosítva. - A különböző vagy összesítő operátorok esetében a bemenettel hozza létre a kivonattáblát (az ismétlődések eltávolítása és az összesítő kifejezések kiszámítása). A kivonattábla létrehozásakor vizsgálja meg a táblát, és adja ki az összes bejegyzést. - Az egyesítő operátor esetében használja az első bemenetet a kivonattábla létrehozásához (az ismétlődések eltávolításához). Használja a második bemenetet (amelynek nem kell ismétlődő adatokat tartalmaznia) a kivonattábla mintavételéhez, visszaadja az összes olyan sort, amelynek nincs egyezése, majd szkennelje a kivonattáblát, és adja vissza az összes bejegyzést. Hash Match egy fizikai operátor. További információért lásd: Hash illesztések ismertetése. |
|
| Index törlése | Az Index törlése operátor törli a Tulajdonságok panelen megadott nemclustered index sorait. Az index törlése fizikai operátor. |
|
| Index beszúrása | Az Index beszúrása operátor sorokat szúr be a bemenetéből a Tulajdonságok panelen megadott nemclustered indexbe. A Tulajdonságok panel a SetPredicate tulajdonságot is tartalmazza, amely azt az értéket jelzi, amelyre az egyes oszlopok be vannak állítva. Index Insert egy fizikai operátor. |
|
| Indexvizsgálat | Az Indexvizsgálat operátor lekéri az összes sort a Tulajdonságok panelen megadott nemclustered indexből. Ha egy választható Predikátum tulajdonság jelenik meg a Tulajdonságok panelen, a rendszer csak azokat a sorokat adja vissza, amelyek megfelelnek a predikátumnak. Ha a Rendezett tulajdonság Igaz, a sorok abban a sorrendben jelennek meg, amelyben a nemclustered index rendezte őket. Ha a Ordered tulajdonság False, a Database Engine a kimenet sorrendjének garantálása nélkül ellenőrzi az indexet. Az indexvizsgálat logikai és fizikai operátor. |
|
| Indexkeresés | Az Index keresése operátor az indexek keresési képességével kéri le a sorokat egy nemclustered indexből. A Tulajdonságok panel a használt nemclustered index nevét tartalmazza. A SeekPredicates tulajdonságot is tartalmazza. A Database Engine az index használatával csak azokat a sorokat dolgozza fel, amelyek megfelelnek a SeekPredicates tulajdonságnak. Opcionálisan belefoglalhatja a Predikátum tulajdonságot is, amelyet a Database Engine a SeekPredicates tulajdonságnak megfelelő összes sor alapján kiértékel (ehhez nem használja az indexeket). Az Index keresése logikai és fizikai operátor. |
|
| Indexelési várólista | Az Indexsor operátor a Tulajdonságok panel SeekPredicates tulajdonságát tartalmazza. Az Index Spool operátor megvizsgálja a bemeneti sorokat, és az egyes sorok másolatát egy rejtett várólistás fájlba helyezi (a tempdb adatbázisban tárolva, és csak a lekérdezés teljes élettartama alatt létezik), és indexet hoz létre a sorokra. Ez lehetővé teszi, hogy az indexek keresési képességét használva csak azokat a sorokat adja ki, amelyek megfelelnek a SeekPredicates tulajdonságnak . Index Spool egy fizikai operátor. |
|
| Indexfrissítés | Az Indexfrissítés fizikai operátor frissíti a bemenet sorait a Tulajdonságok panelen megadott nemclustered indexben. Ha a SetPredicate tulajdonság jelen van, minden frissített oszlop erre az értékre van állítva. Az indexfrissítés fizikai operátor. |
|
| Belső illesztés | Az Inner Join operátor minden olyan sort visszaad, amely megfelel az első (felső) bemenet illesztés predikátumának a második (alsó) bemenettel. Az Inner Join egy logikai operátor. |
|
| Beilleszt | A Beszúrás operátor a bemenet minden sorát beszúrja a Tulajdonságok panelen megadott objektumba. A fizikai operátor a Táblázat beszúrása, az Index beszúrása vagy a Fürtözött index beszúrása operátor. Insert logikai operátor. |
|
| Beszúrt szkennelés | Az eseményindítókban az Inserted Scan operátor átvizsgálja a beszúrt táblát. Beszúrásos vizsgálat logikai és fizikai operátor. |
|
| Belső | Az Intrinsic operátor belső Transact-SQL függvényt hív meg. Az intrinsic egy nyelvi elem. |
|
| Iterátor | Az Iterator catchall ikon akkor jelenik meg, ha a grafikus megjelenítési terveket előállító logika nem talál megfelelő ikont az iterátorhoz. A catchall ikon nem feltétlenül jelez hibafeltételt. | |
| Kulcskeresés | A Key Lookup operátor egy klaszterelt indexet vagy klaszterelt oszlopalapú indexet tartalmazó tábla könyvjelző-keresése. Fürtözött indexek esetén a Tulajdonságok panel a fürtözött index nevét és a sor kereséséhez használt fürtözési kulcsot tartalmazza. Fürtözött oszlopcentrikus index esetén a ColStoreLoc a fürtözési kulcs helyett van megadva.
A kulcskeresést mindig beágyazott hurkok operátor kíséri. Ha a WITH PREFETCH záradék megjelenik a Tulajdonságok panelen, a lekérdezésfeldolgozó megállapította, hogy optimális az aszinkron előkezelés (előreolvasás) használata a könyvjelzők fürtözött indexben való keresésekor.A táblamérethez képest nagy számú végrehajtást tartalmazó kulcskeresések esetén hasznos lehet egy fedőindex hozzáadása. A végrehajtások alacsony száma általában nem jelent teljesítményproblémát. |
|
| Billentyűkészlet | A Kulcskészlet operátor olyan kurzort használ, amely láthatja a mások által készített frissítéseket, de beszúrásokat nem. A kulcskészlet egy fizikai operátor. |
|
| Nyelvi elem | A Nyelvi elem tartalék ikonja akkor jelenik meg, ha az iterátor megfelelő ikonja nem található a grafikus showplanokat előállító logika által. A catchall ikon nem feltétlenül jelez hibafeltételt. | |
| Lusta Spool | A Lazy Spool logikai operátor a bemenet minden sorát a tempdb-adatbázisban tárolt rejtett ideiglenes objektumban tárolja. Ha az operátort visszatekerik (például egy beágyazott hurkok operátorral), de nincs szükség újrakötésre, a rendszer a bemenet újbóli beolvasása helyett a pufferelt adatokat használja. Ha újrakötésre van szükség, a rendszer elveti a sorba szedett adatokat, és a rendszer újraépíti a várólistás objektumot a (rebound) bemenet újrakonfigurálásával. A Lusta Spool operátor "lusta" módon építi fel az orsófájlt, azaz minden alkalommal, amikor a spool szülőművelete kér egy sort, a spool operátor lekéri a sort a bemeneti operátortól, és tárolja azt az orsókészletben, ahelyett, hogy egyszerre használna fel minden sort. Lazy Spool logikai operátor. |
|
| None | Bal oldali Anti Semi Join | A Bal oldali félillesztés operátor az első (felső) bemenet minden sorát visszaadja, ha a második (alsó) bemenetben nincs egyező sor. Ha nincs illesztési predikátum a Tulajdonságok panelen, minden sor egyező sor. Bal oldali anti félillesztés logikai operátor. |
| None | Bal oldali külső illesztés | A Bal oldali külső illesztés operátor minden olyan sort visszaad, amely megfelel az első (felső) bemenet illesztés predikátumának a második (alsó) bemenettel. Az első bemenet összes olyan sorát is visszaadja, amelyeknek a második bemenetben nincsenek egyező sorai. A második bemenet nem egyező sorai null értékként lesznek visszaadva. Ha nincs illesztési predikátum a Tulajdonságok panelen, minden sor egyező sor. A bal oldali külső illesztés logikai operátor. |
| None | Bal oldali félillesztés | A Bal oldali félillesztés operátor az első (felső) bemenet minden sorát visszaadja, ha a második (alsó) bemenetben egyező sor található. Ha nincs illesztési predikátum a Tulajdonságok panelen, minden sor egyező sor. A bal oldali félillesztés egy logikai operátor. |
| Naplósor pásztázása | A Naplósor vizsgálata operátor megvizsgálja a tranzakciónaplót. A Log Row Scan egy logikai és fizikai operátor. |
|
| Egyesítési időköz | Az Egyesítési időköz operátor több (esetleg egymást átfedő) időközt egyesít, hogy minimális, nem átfedő időközöket állítson elő, amelyeket aztán az indexbejegyzések keresésére használnak. Ez az operátor általában egy vagy több Compute Scalar operátor előtt jelenik meg Constant Scan operátorok felett, amelyek az intervallumokat (oszlopként egy sorban) építik fel, amelyeket az operátor egyesít. Az egyesítési időköz egy logikai és fizikai operátor. |
|
| Összefésüléses összekapcsolás | Az Egyesítési illesztés operátor elvégzi a belső illesztést, a bal külső illesztést, a bal oldali félillesztést, a bal oldali anti félillesztést, a jobb oldali külső illesztést, a jobb oldali félillesztést, a jobb oldali anti félillesztést, a teljes külső illesztést, az összefűzést és az egyesítés logikai műveleteit. A Tulajdonságok panelen a Merge Join operátor az összekapcsolási oszlopokat az InnerSideJoinColumns és az OuterSideJoinColumns tulajdonságokban sorolja fel. A ManyToMany attribútum értéke True sok-sok kapcsolat esetén; egy-sok kapcsolat esetén hiányzik, vagy False. Ha jelen van, a Residual tulajdonság az egyesítési kulcsokon felüli további predikátumokat tartalmazza, amelyeket az illesztési oszlopokban egyező sorokon értékel ki. Az Egyesítés összekapcsolás operátorhoz két bemenetre van szükség a megfelelő oszlopok szerint rendezve, esetleg explicit rendezési műveletek beszúrásával a lekérdezési tervbe. Az egyesítési illesztés különösen akkor hatékony, ha nincs szükség explicit rendezésre, például ha megfelelő B-fa index található az adatbázisban, vagy ha a rendezési sorrend több művelethez is használható, például egyesítési illesztéshez és összesítéssel való csoportosításhoz.Merge Join egy fizikai operátor. További információ: Egyesítési illesztések ismertetése. |
|
| Beágyazott hurkok | A Beágyazott hurkok operátor végrehajtja a belső illesztést, a bal oldali külső illesztést, a bal oldali félillesztést és a bal oldali anti semi join logikai műveleteket. A beágyazott hurokcsatlakozások a külső (felső) bemenet minden sorához egyszer futtatják a belső (alsó) bemenetet. Ha az OuterReferences tulajdonság jelen van, az illesztés dinamikus: a külső sorból származó oszlopértékek a belső bemenetbe kerülnek, így az operátorok csak egyező sorokat adnak vissza. Ebben az esetben a Predikátum tulajdonság nem használatos. Ha az OuterReferences hiányzik, az illesztés statikus: a belső bemenet ugyanazokat a sorokat adja vissza minden végrehajtásnál, és a Tulajdonságok panel Predikátum tulajdonsága határozza meg, hogy mely kombinációk minősülnek egyezésnek. Ha az OPTIMIZED attribútum be van állítva True, az operátor átrendezi a külső bemenetet, hogy javítsa az I/O-helységet a belső bemenet elérésekor. Ezt optimalizált beágyazott hurkok illesztésnek is nevezik.A beágyazott hurok egy fizikai operátor További információ: A beágyazott hurkok illesztéseinek ismertetése. |
|
| None | Online index beszúrása | Az Online index beszúrása operátor azt jelzi, hogy egy indexművelet (létrehozás, módosítás vagy elvetés) online történik. Vagyis az alapul szolgáló táblaadatok továbbra is elérhetők maradnak a felhasználók számára az indexművelet során. Online index beszúrás fizikai operátor. |
| Egyik sem | Párhuzamosság | A Párhuzamosság operátor (vagy Exchange Iterator) elvégzi az elosztási, gyűjtési és újraparticionálási adatfolyamok logikai műveleteit. A Tulajdonságok panel tartalmazhatja a PartitionColumns tulajdonságot a particionált oszlopok vesszővel tagolt listájával. A Tulajdonságok panel egy OrderBy tulajdonságot is tartalmazhat, amely felsorolja az oszlopokat, hogy megőrizze a rendezési sorrendet a particionálás során. Megjegyzés: Ha egy lekérdezést párhuzamos lekérdezésként állítottak össze, de futtatáskor soros lekérdezésként fut, a tényleges SET STATISTICS XML beállítással vagy az SQL Server Management Studio által létrehozott megjelenítési terv kimenete nem tartalmazza a RunTimeInformationPárhuzamosság operátor elemét. A kimenetben SET STATISTICS PROFILE a tényleges sorok száma és a végrehajtások tényleges száma nullákat jelenít meg a Parallelism operátor esetében. Ha bármelyik feltétel bekövetkezik, az azt jelenti, hogy a Parallelism operátort csak a lekérdezés-fordítás során használták, a futtatókörnyezeti lekérdezési tervben nem. Előfordulhat, hogy a párhuzamos lekérdezési tervek sorosan futnak, ha nagy egyidejű terhelés van a kiszolgálón.Párhuzamosság fizikai operátor. A Párhuzamosság operátorról további információt a Párhuzamosság operátor című témakörben talál. |
| Paramétertábla vizsgálata | A Paramétertábla-vizsgálat operátor beolvassa az utasítás során létrehozott belső sorkészletet INSERT ... EXEC . Ez a sorkészlet tartalmazza a végrehajtott modul kimenetét, például egy tárolt eljárást vagy egy dinamikus SQL-köteget, amikor ezeket az eredményeket táblázatba, ideiglenes táblába vagy táblaváltozóba szúrja be.A paramétertábla vizsgálata logikai és fizikai operátor. |
|
| None | Részleges összesítés |
A részleges összesítést általában párhuzamos tervekben használják. Az aggregációs függvényt a lehető legtöbb bemeneti sorra alkalmazza, hogy a lemezre történő írás (más néven "kiömlés") ne legyen szükséges.
Hash Matching az egyetlen fizikai operátor (iterátor), amely részleges összesítést valósít meg. A részleges összesítés logikai operátor. |
| Sokaság lekérdezése | A Population Query operátor feltölti a kurzor munkatábláját a kurzor megnyitásakor. Population Query fizikai operátor. |
|
| Tesz | A Put operátor adatokat szúr be egy külső (PolyBase) táblába. A többi beszúrási operátortól eltérően a Put nem ad vissza egyetlen sort sem a szülő operátorának. A SQL Server 2016-tól (13.x) SQL Server 2019-ig (15.x) a Put operátor a Hadoop-ot célozza meg, és soros módban fut. A SQL Server 2022-es (16.x) és újabb verzióiban a Put operátor Azure Storage vagy S3-kompatibilis tárolót céloz meg, és kötegelt módban fut. További információ: CREATE EXTERNAL TABLE AS SELECT (CETAS). A Put fizikai operátor. A következőkre vonatkozik: SQL Server 2016 (13.x) és újabb verziók. |
|
| Lekérdezés frissítése | A Lekérdezés frissítése operátor lekéri a beolvasási puffer sorainak aktuális adatait. A Frissítési lekérdezés egy fizikai operátor. |
|
| Távoli törlés | A Távoli törlés operátor törli a bemeneti sorokat egy távoli objektumból. A Távoli törlés logikai és fizikai operátor. |
|
| Távoli indexvizsgálat | A Távoli indexvizsgálat operátor megvizsgálja a Tulajdonságok panelen megadott távoli indexet. A távoli indexvizsgálat logikai és fizikai operátor. |
|
| Távoli index keresése | A Távoli indexkeresés operátor egy távoli indexobjektum keresési képességét használja a sorok lekérésére. A Tulajdonságok panel a használt távoli index nevét és a SeekPredicates tulajdonságot tartalmazza. A Távoli index keresése logikai és fizikai operátor. |
|
| Távoli beszúrás | A Távoli beszúrás operátor beszúrja a bemeneti sorokat egy távoli objektumba. A távoli beszúrás logikai és fizikai operátor. |
|
| Távoli lekérdezés | A Távoli lekérdezés operátor elküld egy lekérdezést egy távoli forrásnak. A távoli kiszolgálónak küldött lekérdezés szövege megjelenik a Tulajdonságok panelen. A távoli lekérdezés egy logikai és fizikai operátor. |
|
| Távoli vizsgálat | A Távoli vizsgálat operátor egy távoli objektumot vizsgál. A távoli objektum neve megjelenik a Tulajdonságok panelen. Távoli vizsgálat logikai és fizikai operátor. |
|
| Távoli frissítés | A Távoli frissítés operátor frissíti egy távoli objektum bemeneti sorait. A távoli frissítés egy logikai és fizikai operátor. |
|
| Újraparticionálási streamek | A Repartition Streams operátor (vagy exchange iterator) több streamet használ fel, és több rekordstreamet hoz létre. A rekord tartalma és formátuma nem változik. Ha a Lekérdezésoptimalizáló bitképszűrőt használ, a kimeneti streamben lévő sorok száma csökken. A bemeneti adatfolyam minden rekordja egy kimeneti adatfolyamba kerül. Ha ez az operátor rendelésmegőrző, az összes bemeneti adatfolyamot több rendezett kimeneti adatfolyamba kell rendezni és egyesíteni. Ha a kimenet particionálása történik, a Tulajdonságok panel tartalmazza a PartitionColumns tulajdonságot és a particionálási oszlopokat. Ha a kimenet rendezve van, a Tulajdonságok panel egy OrderBy-t és a rendezendő oszlopokat tartalmazza. Az operátor csak párhuzamos lekérdezési tervekben használható. Az újraparticionálási streamek logikai operátorok . |
|
| Eredmény | Az Eredmény operátor az a lekérdezésterv végén visszaadott adat, amelyet visszakapunk. Ez általában a bemutatóterv gyökéreleme. Az eredmény egy nyelvi elem. |
|
| RID-keresés |
A RID-keresés egy könyvjelző-keresés egy memóriahalmazra egy megadott sorazonosító (RID) használatával. A Tulajdonságok panel a táblázat sorának kereséséhez használt könyvjelzőcímkét és annak a táblázatnak a nevét tartalmazza, amelyben a sor fel van keresve.
A RID-kereséshez mindig tartozik egy beágyazott hurok operátor. A "RID-keresés" egy fizikai művelet. A könyvjelző-keresésekkel kapcsolatos további információkért lásd: Lekötött olvasás és könyvjelzőkeresés. |
|
| None | Jobb oldali anti semi join | A Jobb oldali félillesztés-gátló operátor minden sort a második (alsó) bemenetből ad ki, ha az első (felső) bemenet egyező sora nem létezik. Az egyező sor olyan sorként van definiálva, amely megfelel a Tulajdonságok panel predikátumának (ha nincs predikátum, minden sor egyező sor). A Jobboldali Anti Sémicsatlakozás logikai operátor. |
| None | Jobb oldali külső illesztés | A Jobb oldali külső illesztés operátor minden olyan sort visszaad, amely megfelel a második (alsó) bemenet illesztésének az első (felső) bemenet minden egyező sorával. A második bemenet azon sorait is visszaadja, amelyeknek nem voltak egyező sorai az első bemenetben.NULL Ha nincs illesztési predikátum a Tulajdonságok panelen, minden sor egyező sor.A jobb oldali külső illesztés egy logikai operátor. |
| None | Jobb oldali részleges összekapcsolás | A Jobb oldali félillesztés operátor a második (alsó) bemenet minden sorát visszaadja, ha az első (felső) bemenetben egyező sor található. Ha nincs illesztési predikátum a Tulajdonságok panelen, minden sor egyező sor. A jobb oldali félillesztés egy logikai operátor. |
| Sorok Számláló Gyorsítótár | A Sorszámláló puffer operátor megvizsgálja a bemenetet, megszámolja, hogy hány sor van jelen, és ugyanannyi sort ad vissza, amelyekben nincs adat. Ezt az operátort akkor használja a rendszer, ha a sorokban található adatok helyett fontos ellenőrizni a sorok meglétét. Ha például egy Beágyazott hurkok operátor bal oldali félbeillesztési műveletet hajt végre, és az illesztési predikátum a belső bemenetre vonatkozik, előfordulhat, hogy a sorszámsor a Beágyazott hurkok operátor belső bemenetének tetején található. Ezután a Beágyazott hurkok operátor meg tudja határozni, hogy hány sort ad ki a sorszámsor (mivel a belső oldal tényleges adataira nincs szükség), hogy eldöntse, vissza szeretné-e adni a külső sort. Sorszám Gyűjtő egy fizikai operátor. |
|
| None | Szegmens újrapartíciója | Egy párhuzamos lekérdezési tervben néha vannak az iterátorok fogalmi régiói. Az ilyen régión belüli összes iterátor párhuzamos szálakon futhat. Maguknak a régióknak sorosan kell futniuk. Az egyes régiók párhuzamossági iterátorainak egy részét ág-újrapartíciónak nevezzük. A két ilyen régió határán található párhuzamossági iterátort szegmentált újrapartíciónak nevezzük. Az ág újraelosztás és a szegmens újraelosztás logikai operátorok. |
| Szegmens | A Szegmens operátor szegmensekre osztja a bemeneti készletet egy vagy több oszlop értéke alapján. Ezek az oszlopok argumentumként jelennek meg a Szegmens operátorban. A bemenetet ezek az oszlopok rendezik. Az operátor a szegmensoszlop használatával jelöli meg az egyes szegmensek első sorát. A szegmens egy fizikai és logikai operátor. |
|
| Szekvencia Projekt | A Sequence Project operátor oszlopokat ad hozzá a számításokhoz egy rendezett készleten keresztül. Ehhez a bemeneti készletet szegmensekre kell osztani egy vagy több oszlop értéke alapján. A Sequence Project egy logikai és fizikai operátor. |
|
| Következés | A Sequence operátor az egyes bemeneteket sorozatban futtatja (felülről lefelé), és csak azokat a sorokat adja vissza, amelyek az utolsó (alsó) bemenetből származnak. A gyakori felhasználási módok közé tartoznak a széles körű frissítési tervek (ahol minden bemenet általában egy másik objektum frissítése), a több utasításból álló táblaértékű függvényeket használó lekérdezések és a gráftáblákon használt SHORTEST_PATH lekérdezések.A szekvencia egy logikai és fizikai operátor. |
|
| Pillanatfelvétel | A Pillanatkép operátor létrehoz egy kurzort, amely nem látja a mások által végrehajtott módosításokat. Snapshot fizikai operátor. |
|
| Rendezés | A Rendezés operátor az összes bejövő sort rendezi. A Tulajdonságok panel az OrderBy tulajdonságot tartalmazza a rendezendő oszlopok vesszővel tagolt listájával. A Distinct attribútum az, True amikor a művelet eltávolítja az ismétlődéseket. Az oszlopok előtagja az érték ASC , ha az oszlopok növekvő sorrendben vannak rendezve, vagy DESC ha az oszlopok csökkenő sorrendben vannak rendezve.A rendezés logikai és fizikai operátor. |
|
| Elválasztás | A Felosztás operátor a frissítésfeldolgozás optimalizálására szolgál. Minden frissítési műveletet egy törlési és egy beszúrási műveletre oszt. A felosztás logikai és fizikai operátor. |
|
| Orsó | A Spool operátor egy köztes lekérdezési eredményt ment a tempdb-adatbázisba. | |
| Stream összesítése | A Stream Aggregate operátor egy vagy több oszlop szerint csoportosítja a sorokat, majd kiszámítja a lekérdezés által visszaadott egy vagy több összesítő kifejezést. A Stream Aggregate operátorhoz a csoportok oszlopai által rendezett bemenet szükséges. Az optimalizáló egy Rendezési operátort használ az operátor előtt, ha az adatok rendezése egy korábbi rendezési operátor vagy egy rendezett indexkeresés vagy -vizsgálat miatt még nem történik meg.
SHOWPLAN_ALL A SQL Server Management Studio utasításában vagy grafikus végrehajtási tervében a GroupBy tulajdonság oszlopai a Tulajdonságok panelen, az összesítő kifejezések pedig a DefinedValues oszlopban jelennek meg.A Stream Aggregátum egy fizikai operátor. |
|
| Kapcsoló |
A kapcsoló egy speciális összefűzési iterátor, amely n bemenettel rendelkezik. Minden Kapcsoló operátorhoz egy kifejezés van társítva. A kifejezés visszatérési értékétől függően (0 és n-1 között) a Kapcsoló a megfelelő bemenetet futtatja, és visszaadja a sorait.
A Switch a lekérdezési tervek végrehajtására szolgál a particionált nézetekkel kapcsolatos INSERT INTO utasítások esetén. Emellett olyan lekérdezési tervek implementálásához is használható, amelyekben gyors előremutató kurzorok vannak bizonyos operátorokkal, például az TOP operátorral.A kapcsoló logikai és fizikai operátor. |
|
| Tábla törlése | A Tábla törlése operátor törli a sorokat a lekérdezés-végrehajtási terv Tulajdonságok paneljén megadott táblából. A Tábla törlése fizikai operátor. |
|
| Táblázat beszúrása | A Tábla beszúrása operátor sorokat szúr be a bemenetéből a lekérdezés-végrehajtási terv Tulajdonságok panelén megadott táblába. A Tulajdonságok panel a SetPredicate tulajdonságot is tartalmazza, amely azt az értéket jelzi, amelyre az egyes oszlopok be vannak állítva. Ha a Táblázat beszúrása nem tartalmaz alapértékeket a beszúrási értékekhez, akkor a beszúrt sor a Beszúrás operátortól származik. Table Insert fizikai operátor. |
|
| Táblázat egyesítése | A Table Merge operátor egyesítési adatfolyamot alkalmaz egy halomra. Az operátor törli, frissíti vagy beszúrja a sorokat az operátor Tulajdonságok paneljén megadott táblában. A ténylegesen végrehajtott művelet az ActionColumn tulajdonság futásidejű értékétől függ Table Merge fizikai operátor. |
|
| Táblabejárás | A Táblavizsgálat operátor a lekérdezés-végrehajtási terv Tulajdonságok paneljén megadott halomtábla összes sorát lekéri. Ha egy választható Predikátum tulajdonság jelen van, a rendszer csak azokat a sorokat adja vissza, amelyek megfelelnek a predikátumnak. Táblavizsgálat egy logikai és fizikai művelet. |
|
| Table Spool | A Table Spool operátor megvizsgálja a bemenetet, és minden sor egy példányát egy rejtett várólistás táblába helyezi, amely a tempdb adatbázisban van tárolva, és csak a lekérdezés teljes élettartama alatt létezik. Ha az operátort visszatekerik (például egy beágyazott hurkok operátorral), de nincs szükség újrakötésre, a rendszer a bemenet újbóli beolvasása helyett a pufferelt adatokat használja. A Table Spool egy fizikai műveleti egység. |
|
| Táblafrissítés | A Táblafrissítés operátor frissíti a lekérdezés-végrehajtási terv Tulajdonságok paneljén megadott halomtábla bemeneti sorait. A SetPredicate tulajdonság határozza meg az egyes frissített oszlopok értékét. Ezekre az értékekre hivatkozhat a SET záradékban vagy az operátor más részein, valamint a lekérdezés más részein.Táblafrissítés egy fizikai műveleti elem. |
|
| Táblaértékű függvény | A Table-valued függvény operátor kiértékel egy tábla értékű függvényt (Transact-SQL vagy CLR), és az eredményül kapott sorokat a tempdb-adatbázisban tárolja. Amikor a szülő iterátorok lekérik a sorokat, a táblázatértékű függvény a tempdb sorait adja vissza.
A táblaértékelt függvény különböző paraméterértékekkel értékelhető ki:- A táblaértékű függvény XML-olvasója egy XML BLOB-t ad meg paraméterként, és létrehoz egy XML-csomópontokat képviselő sorhalmazt XML-dokumentum sorrendben. Más bemeneti paraméterek korlátozhatják az XML-dokumentum egy részhalmazába visszaadott XML-csomópontokat. - A táblázatértékelő függvény XML-olvasója XPath-szűrővel az XML-olvasó táblaértékű függvény egy speciális típusa, amely az XPath-kifejezésnek megfelelő XML-csomópontokra korlátozza a kimenetet. A táblaértékű függvényekre irányuló hívásokat tartalmazó lekérdezések lekérdezési terveket hoznak létre a Table-valued függvény iterátorával. A táblaértékű függvény logikai és fizikai operátor. |
|
| Felső | A Felső operátor megvizsgálja a bemenetet, és csak az első megadott számot vagy százalékot adja vissza a bemenetből, esetleg rendezési sorrend alapján. A Tulajdonságok panel tartalmazhat egy listát azokról az oszlopokról, amelyeket egyezések szempontjából ellenőrizni kell. A frissítési tervekben a felső operátor a sorszámkorlátok kikényszerítésére is használható. Top egy logikai és fizikai operátor. |
|
| None | TopN rendezés | A TopN-rendezés hasonló a Rendezés iterátorhoz, azzal a kivételével, hogy csak az első N sorra van szükség, és nem a teljes eredményhalmazra. Az N kis értékei esetén az SQL Server lekérdezés-végrehajtási motorja megpróbálja végrehajtani a teljes rendezési műveletet a memóriában. Az N nagy értékei esetén a lekérdezés-végrehajtási motor az általánosabb rendezési módszert használja, amelyhez az N nem paraméter. |
| UDX | A kiterjesztett operátorok (UDX) az SQL Server számos XQuery- és XPath-műveletének egyikét implementálják. - A kiterjesztett operátor (UDX) FOR XML a relációs sor szerializálására szolgál, amely a bemeneteket xml-reprezentációba állítja egyetlen bloboszlopban egyetlen kimeneti sorban. Ez egy rendelésérzékeny XML-összesítési operátor.- A kiterjesztett operátor (UDX) XML SERIALIZER egy rendelésérzékeny XML-összesítési operátor. Xml-csomópontokat vagy XQuery skalárokat ábrázoló sorokat ad meg XML-dokumentum sorrendben, és egyetlen kimeneti sor egyetlen XML-oszlopában hoz létre szerializált XML BLOB-t.- A kiterjesztett operátor (UDX) XML FRAGMENT SERIALIZER egy speciális típus, amely az XQuery insert adatmódosítási XML SERIALIZER bővítménybe beszúrt XML-töredékeket képviselő bemeneti sorok feldolgozására szolgál.- A kiterjesztett operátor (UDX) XQUERY STRING kiértékeli az XML-csomópontokat képviselő bemeneti sorok XQuery-sztringértékét. Ez egy rendelésérzékeny sztringösszesítési operátor. Egy sort ad ki az XQuery skalárt képviselő oszlopokkal, amelyek a bemenet sztringértékét tartalmazzák.- A kiterjesztett operátor (UDX) XQUERY LIST DECOMPOSER egy XQuery listabontási operátor. Minden XML-csomópontot képviselő bemeneti sorhoz egy vagy több sor jön létre, amelyek mindegyike XQuery skalárt jelöl, amely tartalmaz egy listaelem-értéket, ha a bemenet XSD-listatípusú.- A kiterjesztett operátor (UDX) XQUERY DATA kiértékeli az XQuery fn:data() függvényt az XML-csomópontokat képviselő bemeneten. Ez egy rendelésérzékeny sztringösszesítési operátor. Egy sort ad ki az XQuery skalárt képviselő oszlopokkal, amelyek a következő eredményt fn:data()tartalmazzák: .- A kiterjesztett operátor XQUERY CONTAINS kiértékeli az XQuery fn:contains() függvényt az XML-csomópontokat képviselő bemeneten. Ez egy rendelésérzékeny sztringösszesítési operátor. Egy sort ad ki az XQuery skalárt képviselő oszlopokkal, amelyek a következő eredményt fn:contains()tartalmazzák: .– A kiterjesztett operátor UPDATE XML NODE frissíti az XML-csomópontot az XQueryben, és lecseréli az adatmódosítási bővítményt az modify() XML-típus metódusában.Az UDX-operátorok logikai és fizikai operátorok is. |
|
| Unió | Az Union operátor több bemenetet is megvizsgál, és az egyes sorokat beolvassa, és eltávolítja az ismétlődéseket. Az Union logikai operátor. |
|
| Update | A Frissítés operátor a lekérdezés-végrehajtási terv Tulajdonságok panelén megadott objektum bemenetéből frissíti az egyes sorokat. A frissítés logikai operátor. A fizikai operátor a táblafrissítés, az indexfrissítés, a fürtözött indexfrissítés vagy az oszlopcentrikus indexfrissítés. |
|
| None | Vektorindex keresése | A Vektorindex keresése operátor vektorindex használatával keresi meg a legközelebbi szomszéd egyezéseket a vektorkeresés során. A Vector Index Seek egy logikai és fizikai operátor. |
| None | Ablak összesítése | Az Ablakösszesítés operátor egy vagy több összesítő kifejezést értékel ki egy ablakdefinícióval, és hozzáadja az eredményeket az adatfolyamhoz. Az Ablakösszesítés egy logikai és fizikai operátor. |
| Windows-spool | Az Ablaksor operátor az egyes sorokat kibontja a hozzá társított ablakot jelképező sorok halmazába. Egy lekérdezésben a OVER záradék meghatározza az ablakot egy lekérdezés eredményhalmazában, majd egy ablakfüggvény kiszámítja az ablak minden sorának értékét. Az operátor egy rejtett munkatáblában tárolja az összes bemeneti sort a tempdb-adatbázisban vagy a memóriában.A Window Spool egy logikai és fizikai operátor. |
Megjegyzés:
A dokumentáció általában a B-fa kifejezést használja az indexekre hivatkozva. A sorkataszterekben az adatbázismotor egy B+ fát implementál. Ez nem vonatkozik az oszlopcentrikus indexekre vagy a memóriaoptimalizált táblák indexére. További információ: SQL Server és Azure SQL index architektúrája és tervezési útmutatója.