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.
Az intelligens lekérdezésfeldolgozási (IQP) szolgáltatáscsalád olyan széles körű hatással rendelkező funkciókat tartalmaz, amelyek minimális implementálási erőfeszítéssel javítják a meglévő számítási feladatok teljesítményét. Az alábbi ábra az IQP-funkciók családját és a SQL Server első bevezetését mutatja be. Minden IQP-funkció elérhető Azure SQL Managed Instance és Azure SQL Database. Egyes funkciók az adatbázis kompatibilitási szintjétől függenek.
Ebből a videóból áttekintheti az intelligens lekérdezésfeldolgozást:
Az intelligens lekérdezésfeldolgozási (IQP) funkciók bemutatóiért és mintakódjáért lásd a GitHub mintaadattárat.
A számítási feladatokat automatikusan jogosulttá teheti az intelligens lekérdezések feldolgozására az adatbázis megfelelő kompatibilitási szintjének engedélyezésével. Ezt Transact-SQL használatával állíthatja be. Például:
ALTER DATABASE [WideWorldImportersDW]
SET COMPATIBILITY_LEVEL = 170;
Az alábbi táblázat részletesen ismerteti az összes intelligens lekérdezésfeldolgozási funkciót, valamint az adatbázis-kompatibilitási szinthez szükséges összes követelményt. Az IQP összes funkciójának részletes ismertetése, beleértve a kibocsátási megjegyzéseket és részletesebb leírásokat, tekintse meg részletesen az intelligens lekérdezésfeldolgozási funkciókat.
A 2025-ös Azure SQL Database és SQL Server IQP-funkciói
| IQP-funkció | A(z) Azure SQL Database támogatott | Támogatott SQL Server 2025 (17.x) | Description |
|---|---|---|---|
| Választható paraméterterv-optimalizálás (OPPO) | Igen, a 170-es adatbázis-kompatibilitási szinttől kezdve | Igen, a 2025-ös (17.x) SQL Server 170-es adatbázis-kompatibilitási szinttel kezdve | A paraméterérzékeny tervoptimalizálás (PSPO) fejlesztésével bevezetett adaptív tervoptimalizálási (Multiplan) infrastruktúrát használja, amely egyetlen utasításból több csomagot hoz létre. A funkció futásidőben optimálisabb tervet választhat, attól függően, hogy egy paraméter az-e NULL OR NOT NULL, ami javítja az olyan lekérdezések teljesítményét, amelyek egyébként alapértelmezés szerint az optimálisnál alacsonyabb teljesítményt eredményeznek az ilyen lekérdezési minták esetében. |
| Számosságbecslési (CE) visszajelzés kifejezésekhez | Igen, a 170-es adatbázis-kompatibilitási szinttől kezdve | Igen, a 2025-ös (17.x) SQL Server 160-os adatbázis-kompatibilitási szinttel kezdve | Kiterjeszti a CE-visszajelzést, hogy a lekérdezések közötti ismétlődő kifejezések számosságbecslését javítsa a korábbi végrehajtások megismerésével és a megfelelő CE-modell választásának automatikus alkalmazásával ezen kifejezések jövőbeli végrehajtására. |
| OPTIMIZED_SP_EXECUTESQL | Yes | Igen, az SQL Server 2025 (17.x) verziójától kezdve | Hatékonyan csökkentheti az összeállítási viharok hatását. A fordítási viharhelyzet olyan állapot, amikor nagyszámú lekérdezés kerül egyidejűleg fordításra, ami teljesítményproblémákhoz és erőforrás-megosztási problémákhoz vezet. Engedélyezze ezt a funkciót, hogy az olyan meghívások sp_executesql viselkedjenek az objektumokkal, mint például a tárolt eljárások és eseményindítók fordítási nézőpontból. |
A 2022-es Azure SQL Database és SQL Server IQP-funkciói
| IQP-funkció | A(z) Azure SQL Database támogatott | A 2022-SQL Server (16.x) és újabb verzióiban támogatott | Description |
|---|---|---|---|
| Adaptív illesztések (Batch mód) | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Igen, a 2017-es SQL Server (14.x) 140-es adatbázis-kompatibilitási szinttel kezdődően | Az adaptív illesztések dinamikusan kiválasztanak egy illesztési típust futásidőben a tényleges bemeneti sorok alapján. |
| Hozzávetőleges darabszám különböző | Yes | Igen, a SQL Server 2019-től (15.x) kezdve | Adjon hozzávetőleges COUNT DISTINCT a nagy teljesítményű és alacsony memóriaigényű big data-forgatókönyvekhez. |
| Hozzávetőleges percentilis | Igen, a 110-es adatbázis-kompatibilitási szinttől kezdve | Igen, SQL Server 2022-től kezdve (16.x) 110-es kompatibilitási szinttel | Gyorsan kiszámíthatja a percentiliseket egy nagy adatkészlethez elfogadható rangalapú hibahatárokkal, hogy gyors döntéseket hozzon hozzávetőleges percentilis összesítő függvények használatával. |
| Kötegelt mód soros tárolásban | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Igen, 2019 SQL Server (15.x) 150-es kompatibilitási szinttel kezdődően | Kötegelt módot biztosít a processzorhoz kötött relációs DW számítási feladatokhoz oszlopcentrikus indexek megkövetelése nélkül. |
| számosságbecslési (CE) visszajelzés | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | Igen, SQL Server 2022-től kezdve (16.x) a kompatibilitási szint 160 | Automatikusan módosítja az ismétlődő lekérdezések számossági becsléseit, hogy optimalizálja azokat a számítási feladatokat, amelyek nem hatékony CE-feltételezések rossz lekérdezési teljesítményt okoznak. A CE-visszajelzések azonosítják és használják a modell feltételezését, amely jobban megfelel egy adott lekérdezésnek és adatterjesztésnek a lekérdezés-végrehajtási terv minőségének javítása érdekében. |
| párhuzamosság mértékének (DOP) visszajelzése | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | Automatikusan beállítja a párhuzamosság mértékét az ismétlődő lekérdezésekhez, hogy olyan számítási feladatokra optimalizáljon, amelyeknél a nem hatékony párhuzamosság teljesítményproblémákat okozhat. Bekapcsolva kell lennie a Query Store funkciónak. |
| Felváltva Végrehajtás | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Igen, a 2017-es SQL Server (14.x) 140-es adatbázis-kompatibilitási szinttel kezdődően | Az első fordítás során észlelt többutas táblaértékű függvény tényleges számosságát használja rögzített becslés helyett. |
| Memóriahasználati visszajelzés (Batch mód) | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Igen, a 2017-es SQL Server (14.x) 140-es adatbázis-kompatibilitási szinttel kezdődően | Ha egy köteg módú lekérdezés lemezre kiömlő műveletekkel rendelkezik, adjon hozzá több memóriát az egymást követő végrehajtásokhoz. Ha egy lekérdezés a számára lefoglalt memória több mint > 50%-át pazarolja, csökkentse a memória-hozzáférés méretét az egymást követő végrehajtások során. |
| Memóriahasználati visszajelzés (Sor mód) | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Igen, 2019.SQL Server-tól kezdve (15.x) 150-es adatbázis-kompatibilitási szinttel | Ha egy sor módú lekérdezés lemezre kiömlő műveleteket tartalmaz, adjon hozzá több memóriát az egymást követő végrehajtásokhoz. Ha egy lekérdezés a számára lefoglalt memória több mint > 50%-át pazarolja, csökkentse a memória-hozzáférés méretét az egymást követő végrehajtások során. |
| Memória-visszacsatolás (percentilis érték) | Igen, minden adatbázisban engedélyezve van | Igen, a SQL Server 2022 (16.x) kezdődően a 140-es adatbázis-kompatibilitási szinttel | A memória-visszacsatolás meglévő korlátozásait nem tolakodó módon kezeli azáltal, hogy a korábbi lekérdezés-végrehajtást beépíti a visszajelzés finomításához. |
| Memória-visszajelzés megőrzése | Igen, minden adatbázisban engedélyezve van | Igen, a SQL Server 2022 (16.x) kezdődően a 140-es adatbázis-kompatibilitási szinttel | Új funkciókat biztosít a memóriahasználati visszajelzések megőrzéséhez. Szükséges, hogy a Query Store engedélyezve legyen az adatbázis számára, és READ_WRITE módban legyen. |
| CE-visszajelzések megőrzése | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | Igen, az SQL Server 2022 (16.x) verziótól kezdve, az adatbázis kompatibilitási szintje 160 | Szükséges, hogy a Query Store engedélyezve legyen az adatbázis számára, és READ_WRITE módban legyen. |
| Optimális tervkényszerítés a Query Store-ral | Yes | Igen, SQL Server 2022-től kezdve (16.x)). | Csökkenti a kényszerített lekérdezések ismétlésével kapcsolatos fordítási többletterhelést. További információért lásd: Optimalizált tervkényszerítés a Query Store segítségével. |
| Skaláris UDF beágyazása | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Igen, 2019.SQL Server-tól kezdve (15.x) 150-es adatbázis-kompatibilitási szinttel | A skaláris UDF-ek egyenértékű relációs kifejezésekké alakulnak át, amelyek "beágyazottak" a hívó lekérdezésbe, ami gyakran jelentős teljesítménynövekedést eredményez. |
| Paraméterérzékeny csomag optimalizálása | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | Igen, a 2022-es SQL Server (16.x) 160-es adatbázis-kompatibilitási szinttel kezdődően | A paraméterérzékeny terv optimalizálása azt a forgatókönyvet kezeli, amikor egy paraméteres lekérdezés egyetlen gyorsítótárazott terve nem optimális minden lehetséges bejövő paraméterértékhez, például nem egységes adateloszlásokhoz. |
| Táblaváltozó késleltetett kompilálása | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Igen, 2019.SQL Server-tól kezdve (15.x) 150-es adatbázis-kompatibilitási szinttel | A táblaváltozó tényleges számosságát használja, amely az első fordítás során merült fel rögzített becslés helyett. |
Az IQP-funkciók az Azure SQL Managed Instance számára
| IQP-funkció | Támogatott az Azure SQL Managed Instance-ban | Description |
|---|---|---|
| Adaptív illesztések (Batch mód) | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Az adaptív illesztések dinamikusan kiválasztanak egy illesztési típust futásidőben a tényleges bemeneti sorok alapján. |
| Hozzávetőleges darabszám különböző | Yes | Adjon hozzávetőleges COUNT DISTINCT a nagy teljesítményű és alacsony memóriaigényű big data-forgatókönyvekhez. |
| Hozzávetőleges percentilis | Igen, a 110-es adatbázis-kompatibilitási szinttől kezdve | Gyorsan kiszámíthatja a percentiliseket egy nagy adatkészlethez elfogadható rangalapú hibahatárokkal, hogy gyors döntéseket hozzon hozzávetőleges percentilis összesítő függvények használatával. |
| Kötegelt mód soros tárolásban | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Kötegelt módot biztosít a processzorhoz kötött relációs DW számítási feladatokhoz oszlopcentrikus indexek megkövetelése nélkül. |
| számosságbecslési (CE) visszajelzés | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | Automatikusan módosítja az ismétlődő lekérdezések számossági becsléseit, hogy optimalizálja azokat a számítási feladatokat, amelyek nem hatékony CE-feltételezések rossz lekérdezési teljesítményt okoznak. A CE-visszajelzések azonosítják és használják a modell feltételezését, amely jobban megfelel egy adott lekérdezésnek és adatterjesztésnek a lekérdezés-végrehajtási terv minőségének javítása érdekében. |
| Számosságbecslési (CE) visszajelzés kifejezésekhez | Igen, a Azure SQL Managed Instance 160-es adatbázis-kompatibilitási szintjétől kezdve a SQL Server 2025 vagy Always-up-to-dateupdate szabályzattal. Nem, a SQL Server 2022 frissítési szabályzathoz. | Kiterjeszti a CE-visszajelzést, hogy a lekérdezések közötti ismétlődő kifejezések számosságbecslését javítsa a korábbi végrehajtások megismerésével és a megfelelő CE-modell választásának automatikus alkalmazásával ezen kifejezések jövőbeli végrehajtására. |
| párhuzamosság mértékének (DOP) visszajelzése | Igen, a 160-as adatbázis-kompatibilitási szinttől kezdve az Azure SQL Managed Instance-ban a SQL Server 2025 vagy az Always-up-to-date frissítési szabályzattal. Nem, a SQL Server 2022 frissítési szabályzathoz. | Automatikusan beállítja a párhuzamosság mértékét az ismétlődő lekérdezésekhez, hogy olyan számítási feladatokra optimalizáljon, amelyeknél a nem hatékony párhuzamosság teljesítményproblémákat okozhat. Bekapcsolva kell lennie a Query Store funkciónak. |
| Felváltva Végrehajtás | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Az első fordítás során észlelt többutas táblaértékű függvény tényleges számosságát használja rögzített becslés helyett. |
| Memóriahasználati visszajelzés (Batch mód) | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Ha egy köteg módú lekérdezés lemezre kiömlő műveletekkel rendelkezik, adjon hozzá több memóriát az egymást követő végrehajtásokhoz. Ha egy lekérdezés a számára lefoglalt memória több mint > 50%-át pazarolja, csökkentse a memória-hozzáférés méretét az egymást követő végrehajtások során. |
| Memóriahasználati visszajelzés (Sor mód) | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Ha egy sor módú lekérdezés lemezre kiömlő műveleteket tartalmaz, adjon hozzá több memóriát az egymást követő végrehajtásokhoz. Ha egy lekérdezés a számára lefoglalt memória több mint > 50%-át pazarolja, csökkentse a memória-hozzáférés méretét az egymást követő végrehajtások során. |
| Memória-visszacsatolás (percentilis érték) | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | A memória-visszacsatolás meglévő korlátozásait nem tolakodó módon kezeli azáltal, hogy a korábbi lekérdezés-végrehajtást beépíti a visszajelzés finomításához. |
| Memória-visszaadás, CE és DOP-visszajelzések megőrzése | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | Új funkciókat biztosít a memóriahasználati visszajelzések megőrzéséhez. A CE- és DOP-visszajelzések mindig megmaradnak. Szükséges, hogy a Query Store engedélyezve legyen az adatbázis számára, és READ_WRITE módban legyen. |
| Választható paraméterterv-optimalizálás (OPPO) | Igen, az Azure SQL Managed Instance esetében a 170-es adatbázis-kompatibilitási szinttől kezdve a SQL Server 2025 vagy Always-up-to-dateupdate szabályzattal. Nem, a SQL Server 2022 frissítési szabályzathoz. | A paraméterérzékeny tervoptimalizálás (PSPO) fejlesztésével bevezetett adaptív tervoptimalizálási (Multiplan) infrastruktúrát használja, amely egyetlen utasításból több csomagot hoz létre. A funkció futásidőben optimálisabb tervet választhat, attól függően, hogy egy paraméter az-e NULL OR NOT NULL, ami javítja az olyan lekérdezések teljesítményét, amelyek egyébként alapértelmezés szerint az optimálisnál alacsonyabb teljesítményt eredményeznek az ilyen lekérdezési minták esetében. |
| Optimális tervkényszerítés a Query Store-ral | Nem | Csökkenti a kényszerített lekérdezések ismétlésével kapcsolatos fordítási többletterhelést. További információért lásd: Optimalizált tervkényszerítés a Query Store segítségével. |
| Paraméterérzékeny csomag optimalizálása | Igen, a 160-es adatbázis-kompatibilitási szinttől kezdve | A paraméterérzékenység-terv optimalizálása azt a forgatókönyvet kezeli, amikor egy paraméteres lekérdezés egyetlen gyorsítótárazott terve nem optimális minden lehetséges bejövő paraméterértékhez, például nem egységes adateloszlásokhoz. |
| Skaláris UDF beágyazása | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | A skaláris UDF-ek egyenértékű relációs kifejezésekké alakulnak át, amelyek "beágyazottak" a hívó lekérdezésbe, ami gyakran jelentős teljesítménynövekedést eredményez. |
| Táblaváltozó késleltetett kompilálása | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | A táblaváltozó tényleges számosságát használja, amely az első fordítás során merült fel rögzített becslés helyett. |
SQL Server 2019 IQP-funkciók
| IQP-funkció | 2019 SQL Server támogatott (15.x) | Description |
|---|---|---|
| Adaptív illesztések (Batch mód) | Igen, a 2017-es SQL Server (14.x) 140-es adatbázis-kompatibilitási szinttel kezdődően | Az adaptív illesztések dinamikusan kiválasztanak egy illesztési típust futásidőben a tényleges bemeneti sorok alapján. |
| Hozzávetőleges darabszám különböző | Yes | Adjon hozzávetőleges COUNT DISTINCT a nagy teljesítményű és alacsony memóriaigényű big data-forgatókönyvekhez. |
| Kötegelt mód soros tárolásban | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Kötegelt módot biztosít a processzorhoz kötött relációs DW számítási feladatokhoz oszlopcentrikus indexek megkövetelése nélkül. |
| Felváltva Végrehajtás | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Használja az első fordítás során észlelt többutas táblaérték-függvény valós számosságát a fix becslés helyett. |
| Memóriahasználati visszajelzés (Batch mód) | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Ha egy köteg módú lekérdezés lemezre kiömlő műveletekkel rendelkezik, adjon hozzá több memóriát az egymást követő végrehajtásokhoz. Ha egy lekérdezés a számára lefoglalt memória több mint > 50%-át pazarolja, csökkentse a memória-hozzáférés méretét az egymást követő végrehajtások során. |
| Memóriahasználati visszajelzés (Sor mód) | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Ha egy sor módú lekérdezés lemezre kiömlő műveleteket tartalmaz, adjon hozzá több memóriát az egymást követő végrehajtásokhoz. Ha egy lekérdezés a számára lefoglalt memória több mint > 50%-át pazarolja, csökkentse a memória-hozzáférés méretét az egymást követő végrehajtások során. |
| Skaláris UDF beágyazása | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | A skaláris UDF-ek egyenértékű relációs kifejezésekké alakulnak át, amelyek "beágyazottak" a hívó lekérdezésbe, ami gyakran jelentős teljesítménynövekedést eredményez. |
| Táblaváltozó késleltetett kompilálása | Igen, a 150-es adatbázis-kompatibilitási szinttől kezdve | Használja a táblaváltozó tényleges számosságát, amely az első fordításkor merült fel rögzített becslés helyett. |
IQP jellemzők a 2017-es SQL Server számára
| IQP-funkció | 2017 SQL Server támogatott (14.x) | Description |
|---|---|---|
| Adaptív illesztések (Batch mód) | Igen, a 2017-es SQL Server (14.x) 140-es adatbázis-kompatibilitási szinttel kezdődően | Az adaptív illesztések dinamikusan kiválasztanak egy illesztési típust futásidőben a tényleges bemeneti sorok alapján. |
| Hozzávetőleges darabszám különböző | Yes | Adjon hozzávetőleges COUNT DISTINCT a nagy teljesítményű és alacsony memóriaigényű big data-forgatókönyvekhez. |
| Felváltva Végrehajtás | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Használja az első fordítás során észlelt többutas táblaérték-függvény valós számosságát a fix becslés helyett. |
| Memóriahasználati visszajelzés (Batch mód) | Igen, a 140-es adatbázis-kompatibilitási szinttől kezdve | Ha egy köteg módú lekérdezés lemezre kiömlő műveletekkel rendelkezik, adjon hozzá több memóriát az egymást követő végrehajtásokhoz. Ha egy lekérdezés a számára lefoglalt memória több mint > 50%-át pazarolja, csökkentse a memória-hozzáférés méretét az egymást követő végrehajtások során. |
Query Store követelményei
A intelligens lekérdezésfeldolgozási funkciók számos része megköveteli a Query Store engedélyezését a felhasználói adatbázis előnyeinek érdekében. A Query Store engedélyezéséhez lásd: Enable the Query Store.
| IQP-funkció | Engedélyezni kell a Query Store-t és READ_WRITE |
|---|---|
| Adaptív illesztések (Batch mód) | No |
| Hozzávetőleges darabszám különböző | No |
| Hozzávetőleges percentilis | No |
| Kötegelt mód soros tárolásban | No |
| számosságbecslési (CE) visszajelzés | Yes |
| párhuzamosság mértékének (DOP) visszajelzése | Yes |
| Felváltva Végrehajtás | No |
| Memóriahasználati visszajelzés (Batch mód) | No |
| Memóriahasználati visszajelzés (Sor mód) | No |
| Memóriahasználati visszajelzés (Percentilis és perzisztencia üzemmód) | Yes |
| Optimális tervkényszerítés a Query Store-ral | Yes |
| Skaláris UDF beágyazása | No |
| Paraméterérzékeny csomag optimalizálása | Nem, de ajánlott |
| Táblaváltozó késleltetett kompilálása | No |
Kapcsolódó tartalom
- Intelligens lekérdezésfeldolgozási funkciók részletesen
- Joins (SQL Server)
- Végrehajtási módok
- lekérdezésfeldolgozási architektúra útmutatója
- Logikai és fizikai showplan operátor referenciája
- Újdonságok a SQL Server 2017-ben
- SQL Server 2019 újdonságai
- A SQL Server 2022 újdonságai
- memória visszajelzést ad
- Intelligens lekérdezésfeldolgozás bemutatása
- Konstans összevonás és kifejezés értékelése
Intelligent lekérdezésfeldolgozási bemutatók GitHub - Teljesítményközpont a SQL Server Database Engine és az Azure SQL Database számára
- A teljesítmény figyelése a Query Store használatával
Best eljárások a számítási feladatok Query Store