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
Azure SQL Managed Instance
A lekérdezések végrehajtásához az SQL Server adatbázismotorjának elemeznie kell az utasítást, hogy megállapíthassa a szükséges adatok elérésének és feldolgozásának hatékony módját. Ezt az elemzést a Lekérdezésoptimalizáló nevű összetevő kezeli. A Lekérdezésoptimalizáló bemenete a lekérdezésből, az adatbázissémából (tábla- és indexdefiníciókból) és az adatbázis-statisztikákból áll. A Lekérdezésoptimalizáló létrehoz egy vagy több lekérdezés-végrehajtási tervet, más néven lekérdezésterveket vagy végrehajtási terveket. A Lekérdezésoptimalizáló heurisztikai készlettel választ ki egy lekérdezési tervet a fordítási idő és az optimális tervezés egyensúlyának érdekében, hogy megtalálja a megfelelő lekérdezéstervet.
Borravaló
A lekérdezésfeldolgozási és lekérdezés-végrehajtási tervekről további információt a lekérdezésfeldolgozási architektúra útmutatójának SELECT-utasítások optimalizálása és Végrehajtási terv gyorsítótárazása és újrafelhasználása című szakaszban talál.
A végrehajtási tervek SQL Server Management Studióban és az Azure Data Studióban való megtekintéséről további információt a Végrehajtási tervek megjelenítése és mentésecímű témakörben talál.
A lekérdezés-végrehajtási terv a következő definíciója:
A forrástáblák elérésének sorrendje.
Általában számos sorozat létezik, amelyekben az adatbázis-kiszolgáló hozzáférhet az alaptáblákhoz az eredményhalmaz létrehozásához. Ha például egy
SELECTutasítás három táblára hivatkozik, az adatbázis-kiszolgáló először hozzáférhetTableA, aTableAadataival kinyerheti az egyező sorokatTableB, majd aTableBadataival kinyerheti az adatokatTableC. A többi sorozat, amelyben az adatbázis-kiszolgáló hozzáférhet a táblákhoz, a következők:
TableC,TableB,TableAvagy
TableB,TableA,TableCvagy
TableB,TableC,TableAvagy
\, \ , \ Az egyes táblák adatainak kinyerésére használt módszerek.
Általában különböző módszerek vannak az egyes táblák adatainak elérésére. Ha csak néhány sorra van szükség meghatározott kulcsértékekkel, az adatbázis-kiszolgáló használhat indexet. Ha a tábla összes sorára szükség van, az adatbázis-kiszolgáló figyelmen kívül hagyhatja az indexeket, és elvégezhet egy táblavizsgálatot. Ha egy tábla összes sorára szükség van, de van egy index, amelynek kulcsoszlopai egy
ORDER BYvannak, akkor a táblázatvizsgálat helyett indexvizsgálat végrehajtása külön eredményhalmazt menthet. Ha egy tábla kicsi, akkor a táblavizsgálatok lehetnek a leghatékonyabb módszer a tábla szinte minden elérésére.A számítások kiszámításához használt módszerek, valamint az egyes táblák adatainak szűrése, összesítése és rendezése.
Mivel az adatok táblákból érhetők el, különböző módszerekkel végezhet számításokat az adatokon, például skaláris értékek kiszámításán, valamint a lekérdezés szövegében meghatározott adatok összesítésére és rendezésére, például
GROUP BYvagyORDER BYzáradék használatakor, valamint az adatok szűrésére, példáulWHEREvagyHAVINGzáradék használatakor.
Kapcsolódó tartalom
- Teljesítmény figyelése és hangolása
- teljesítményfigyelő és hangoló eszközök
- lekérdezésfeldolgozási architektúra útmutatója
- élő lekérdezési statisztikák
- Tevékenységfigyelő
- A teljesítmény figyelése a Lekérdezéstár segítségével
- sys.dm_exec_query_statistics_xml
- sys.dm_exec_query_profiles
- Nyomkövetési jelzők beállítása a DBCC TRACEON használatával (Transact-SQL)
- Logikai és fizikai showplan operátor referenciája
- Lekérdezésprofilozási infrastruktúra
- Végrehajtási tervek megjelenítése és mentése
- Végrehajtási tervek összehasonlítása és elemzése
- Terv útmutatók