Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric Preview
De iqp-functiefamilie (Intelligent Query Processing) bevat functies met een brede impact die de prestaties van bestaande workloads verbeteren met minimale implementatie-inspanning die moet worden geïmplementeerd. In de volgende afbeelding wordt de familie van IQP-functies beschreven en toen ze voor het eerst werden geïntroduceerd voor SQL Server. Alle IQP-functies zijn beschikbaar in Azure SQL Managed Instance en Azure SQL Database. Sommige functies zijn afhankelijk van het compatibiliteitsniveau van de database.
Bekijk deze video voor een overzicht van intelligente queryverwerking:
Voor demo's en voorbeeldcode van IQP-functies (Intelligent Query Processing) op GitHub, gaat u naar https://aka.ms/IQPDemos.
U kunt ervoor zorgen dat workloads automatisch in aanmerking komen voor intelligente queryverwerking door het toepasselijke databasecompatibiliteitsniveau voor de database in te schakelen. U kunt dit instellen met Behulp van Transact-SQL. Voorbeeld:
ALTER DATABASE [WideWorldImportersDW]
SET COMPATIBILITY_LEVEL = 170;
De volgende tabel bevat alle intelligente queryverwerkingsfuncties, samen met alle vereiste die ze hebben voor databasecompatibiliteitsniveau. Zie intelligent queryverwerkingsfuncties in detail voor meer informatie over alle IQP-functies, inclusief releaseopmerkingen en uitgebreidere beschrijvingen.
IQP-functies voor Azure SQL Database en SQL Server 2025 Preview
| IQP-functie | Ondersteund in Azure SQL Database | Ondersteund in SQL Server 2025 (17.x) Preview | Description |
|---|---|---|---|
| Optionele optimalisatie van parameterplannen (OPPO) | No | Ja, te beginnen met SQL Server 2025 (17.x) Preview met compatibiliteitsniveau 170 | Maakt gebruik van de multiplan-infrastructuur (Adaptive Plan Optimization) die is geïntroduceerd met de verbetering Parameter Sensitive Plan Optimization (PSPO), waarmee meerdere plannen worden gegenereerd op basis van één instructie. De functie kan gaandeweg een optimaler plan kiezen op basis van of een parameter NULL OR NOT NULL is, waardoor de prestaties voor query's verbeteren die anders een suboptimale prestatie voor zulke querypatronen zouden hebben. |
| Feedback over de kardinaliteitschatting (CE) voor expressies | No | Ja, te beginnen met SQL Server 2025 (17.x) Preview met compatibiliteitsniveau 160 | Breidt CE-feedback uit om de kardinaliteitschattingen voor herhalende expressies in query's te verbeteren door te leren van eerdere uitvoeringen en automatisch de juiste CE-modelkeuzen toe te passen op toekomstige uitvoeringen van deze expressies |
| OPTIMIZED_SP_EXECUTESQL | Yes | Ja, beginnend met SQL Server 2025 (17.x) Preview | Verminder effectief de impact van compilatiestormen. Een compilatiestorm is een situatie waarbij een groot aantal query's tegelijkertijd wordt gecompileerd, wat leidt tot prestatieproblemen en resourceconflicten. Schakel deze functie in om sp_executesql-aanroepen zich te laten gedragen als objecten zoals opgeslagen procedures en triggers vanuit een compilatieperspectief. |
IQP-functies voor Azure SQL Database en SQL Server 2022
| IQP-functie | Ondersteund in Azure SQL Database | Ondersteund in SQL Server 2022 (16.x) en latere versies | Description |
|---|---|---|---|
| Adaptive Joins (Batch-modus) | Ja, beginnend met databasecompatibiliteitsniveau 140 | Ja, vanaf SQL Server 2017 (14.x) met databasecompatibiliteitsniveau 140 | Adaptieve joins selecteren dynamisch een jointype tijdens runtime op basis van werkelijke invoerrijen. |
| Geschat aantal uniek | Yes | Ja, vanaf SQL Server 2019 (15.x) | Wij bieden geschatte COUNT DISTINCT voor big data-scenario's met het voordeel van hoge prestaties en een lage geheugenvoetafdruk. |
| Percentiel bij benadering | Ja, beginnend met databasecompatibiliteitsniveau 110 | Ja, vanaf SQL Server 2022 (16.x) met compatibiliteitsniveau 110 | Bereken snel percentielen voor een grote gegevensset met acceptabele op rang gebaseerde foutgrenzen om snelle beslissingen te nemen met behulp van statistische functies van het percentiel. |
| Batchmodus in Rowstore | Ja, beginnend met databasecompatibiliteitsniveau 150 | Ja, vanaf SQL Server 2019 (15.x) met compatibiliteitsniveau 150 | Batchmodus bieden voor relationele DW-workloads die afhankelijk zijn van CPU zonder columnstore-indexen. |
| feedback over kardinaliteitschatting (CE) | Ja, beginnend met databasecompatibiliteitsniveau 160 | Ja, vanaf SQL Server 2022 (16.x) met compatibiliteitsniveau 160 | Hiermee worden de kardinaliteitschattingen voor herhalende query's automatisch aangepast om workloads te optimaliseren waarbij inefficiënte CE-veronderstellingen slechte queryprestaties veroorzaken. CE-feedback identificeert en gebruikt een modelveronderstelling die beter past bij een bepaalde query en gegevensdistributie om de kwaliteit van het queryuitvoeringsplan te verbeteren. |
| mate van parallelle uitvoering (DOP) feedback | Ja, beginnend met databasecompatibiliteitsniveau 160 | Ja, beginnend met databasecompatibiliteitsniveau 160 | Hiermee wordt de mate van parallelle uitvoering voor herhalende query's automatisch aangepast om te optimaliseren voor workloads waarbij inefficiënt parallellisme prestatieproblemen kan veroorzaken. Vereist dat Query Store is ingeschakeld. |
| Geïnterlinieerde Uitvoering | Ja, beginnend met databasecompatibiliteitsniveau 140 | Ja, vanaf SQL Server 2017 (14.x) met databasecompatibiliteitsniveau 140 | Maakt gebruik van de werkelijke kardinaliteit van de tabel-gewaardeerde functie met meerdere instructies die bij de eerste compilatie is vastgesteld, in plaats van met een vaste schatting. |
| Geheugentoekenning feedback (Batchmodus) | Ja, beginnend met databasecompatibiliteitsniveau 140 | Ja, vanaf SQL Server 2017 (14.x) met databasecompatibiliteitsniveau 140 | Als een batchmodusquery bewerkingen bevat die overlopen naar schijf, voegt u meer geheugen toe voor opeenvolgende uitvoeringen. Als een query 50% van het toegewezen geheugen verspilt > , vermindert u de geheugentoekenningsgrootte voor opeenvolgende uitvoeringen. |
| Feedback over geheugen verlenen (rijmodus) | Ja, beginnend met databasecompatibiliteitsniveau 150 | Ja, vanaf SQL Server 2019 (15.x) met databasecompatibiliteitsniveau 150 | Als een rijmodusquery bewerkingen bevat die overlopen naar schijf, voegt u meer geheugen toe voor opeenvolgende uitvoeringen. Als een query 50% van het toegewezen geheugen verspilt > , vermindert u de geheugentoekenningsgrootte voor opeenvolgende uitvoeringen. |
| Feedback voor geheugen toewijzing (percentiel) | Ja, ingeschakeld voor alle databases | Ja, beginnend met SQL Server 2022 (16.x)) met databasecompatibiliteitsniveau 140 | Behandelt bestaande beperkingen van feedback over geheugentoekenning op een niet-invasieve manier door gebruik te maken van eerdere uitvoeringen van query's om feedback te verfijnen. |
| Persistentie van geheugentoewijzingsfeedback | Ja, ingeschakeld voor alle databases | Ja, beginnend met SQL Server 2022 (16.x)) met databasecompatibiliteitsniveau 140 | Biedt nieuwe functionaliteit om feedback over geheugentoekenning te behouden. Vereist dat Query Store is ingeschakeld voor de database en in READ_WRITE modus. |
| CE-feedbackpersistentie | Ja, beginnend met databasecompatibiliteitsniveau 160 | Ja, te beginnen met SQL Server 2022 (16.x)) met databasecompatibiliteitsniveau 160 | Vereist dat Query Store is ingeschakeld voor de database en in READ_WRITE modus. |
| Geoptimaliseerd plan forceren met Query Store | Yes | Ja, beginnend met SQL Server 2022 (16.x)). | Vermindert de compilatieoverhead voor het herhalen van geforceerde query's. Zie Geoptimaliseerd plan afdwingen met Query Store voor meer informatie. |
| Scalaire UDF-inlining | Ja, beginnend met databasecompatibiliteitsniveau 150 | Ja, vanaf SQL Server 2019 (15.x) met databasecompatibiliteitsniveau 150 | Scalaire UDF's worden omgezet in gelijkwaardige relationele expressies die 'inlined' zijn in de aanroepende query, wat vaak resulteert in aanzienlijke prestatieverbeteringen. |
| optimalisatie van parametergevoelig plan | Ja, beginnend met databasecompatibiliteitsniveau 160 | Ja, vanaf SQL Server 2022 (16.x) met databasecompatibiliteitsniveau 160 | Met parametergevoelige planoptimalisatie wordt het scenario opgelost waarbij één plan in de cache voor een geparameteriseerde query niet optimaal is voor alle mogelijke binnenkomende parameterwaarden, bijvoorbeeld niet-uniforme gegevensdistributies. |
| Uitgestelde compilatie van tabelvariabele | Ja, beginnend met databasecompatibiliteitsniveau 150 | Ja, vanaf SQL Server 2019 (15.x) met databasecompatibiliteitsniveau 150 | Gebruikt de werkelijke kardinaliteit van de tabelvariabele die op de eerste compilatie is aangetroffen in plaats van een vaste schatting. |
IQP-functies voor Azure SQL Managed Instance
| IQP-functie | Ondersteund in Azure SQL Managed Instance | Description |
|---|---|---|
| Adaptive Joins (Batch-modus) | Ja, beginnend met databasecompatibiliteitsniveau 140 | Adaptieve joins selecteren dynamisch een jointype tijdens runtime op basis van werkelijke invoerrijen. |
| Geschat aantal uniek | Yes | Wij bieden geschatte COUNT DISTINCT voor big data-scenario's met het voordeel van hoge prestaties en een lage geheugenvoetafdruk. |
| Percentiel bij benadering | Ja, beginnend met databasecompatibiliteitsniveau 110 | Bereken snel percentielen voor een grote gegevensset met acceptabele op rang gebaseerde foutgrenzen om snelle beslissingen te nemen met behulp van statistische functies van het percentiel. |
| Batchmodus in Rowstore | Ja, beginnend met databasecompatibiliteitsniveau 150 | Batchmodus bieden voor relationele DW-workloads die afhankelijk zijn van CPU zonder columnstore-indexen. |
| feedback over kardinaliteitschatting (CE) | Ja, beginnend met databasecompatibiliteitsniveau 160 | Hiermee worden de kardinaliteitschattingen voor herhalende query's automatisch aangepast om workloads te optimaliseren waarbij inefficiënte CE-veronderstellingen slechte queryprestaties veroorzaken. CE-feedback identificeert en gebruikt een modelveronderstelling die beter past bij een bepaalde query en gegevensdistributie om de kwaliteit van het queryuitvoeringsplan te verbeteren. |
| mate van parallelle uitvoering (DOP) feedback | Ja, vanaf databasecompatibiliteitsniveau 160 in Azure SQL Managed Instance met SQL Server 2025 of het Always-up-to-dateupdatebeleid. Nee, voor het updatebeleid voor SQL Server 2022. | Hiermee wordt de mate van parallelle uitvoering voor herhalende query's automatisch aangepast om te optimaliseren voor workloads waarbij inefficiënt parallellisme prestatieproblemen kan veroorzaken. Vereist dat Query Store is ingeschakeld. |
| Geïnterlinieerde Uitvoering | Ja, beginnend met databasecompatibiliteitsniveau 140 | Maakt gebruik van de werkelijke kardinaliteit van de tabel-gewaardeerde functie met meerdere instructies die bij de eerste compilatie is vastgesteld, in plaats van met een vaste schatting. |
| Geheugentoekenning feedback (Batchmodus) | Ja, beginnend met databasecompatibiliteitsniveau 140 | Als een batchmodusquery bewerkingen bevat die overlopen naar schijf, voegt u meer geheugen toe voor opeenvolgende uitvoeringen. Als een query 50% van het toegewezen geheugen verspilt > , vermindert u de geheugentoekenningsgrootte voor opeenvolgende uitvoeringen. |
| Feedback over geheugen verlenen (rijmodus) | Ja, beginnend met databasecompatibiliteitsniveau 150 | Als een rijmodusquery bewerkingen bevat die overlopen naar schijf, voegt u meer geheugen toe voor opeenvolgende uitvoeringen. Als een query 50% van het toegewezen geheugen verspilt > , vermindert u de geheugentoekenningsgrootte voor opeenvolgende uitvoeringen. |
| Feedback voor geheugen toewijzing (percentiel) | Ja, beginnend met databasecompatibiliteitsniveau 160 | Behandelt bestaande beperkingen van feedback over geheugentoekenning op een niet-invasieve manier door gebruik te maken van eerdere uitvoeringen van query's om feedback te verfijnen. |
| Geheugentoekenning, CE en DOP-feedbackpersistentie | Ja, beginnend met databasecompatibiliteitsniveau 160 | Biedt nieuwe functionaliteit om feedback over geheugentoekenning te behouden. CE- en DOP-feedback blijven altijd behouden. Vereist dat Query Store is ingeschakeld voor de database en in READ_WRITE modus. |
| Geoptimaliseerd plan forceren met Query Store | Nee | Vermindert de compilatieoverhead voor het herhalen van geforceerde query's. Zie Geoptimaliseerd plan afdwingen met Query Store voor meer informatie. |
| Scalaire UDF-inlining | Ja, beginnend met databasecompatibiliteitsniveau 150 | Scalaire UDF's worden omgezet in gelijkwaardige relationele expressies die 'inlined' zijn in de aanroepende query, wat vaak resulteert in aanzienlijke prestatieverbeteringen. |
| optimalisatie van parametergevoelig plan | Ja, beginnend met databasecompatibiliteitsniveau 160 | Optimalisatie van parametergevoeligheidsplan is geschikt voor het scenario waarin één plan in de cache voor een geparameteriseerde query niet optimaal is voor alle mogelijke binnenkomende parameterwaarden, bijvoorbeeld niet-uniforme gegevensdistributies. |
| Uitgestelde compilatie van tabelvariabele | Ja, beginnend met databasecompatibiliteitsniveau 150 | Gebruikt de werkelijke kardinaliteit van de tabelvariabele die op de eerste compilatie is aangetroffen in plaats van een vaste schatting. |
IQP-functies voor SQL Server 2019
| IQP-functie | Ondersteund in SQL Server 2019 (15.x) | Description |
|---|---|---|
| Adaptive Joins (Batch-modus) | Ja, vanaf SQL Server 2017 (14.x) met databasecompatibiliteitsniveau 140 | Adaptieve joins selecteren dynamisch een jointype tijdens runtime op basis van werkelijke invoerrijen. |
| Geschat aantal uniek | Yes | Wij bieden geschatte COUNT DISTINCT voor big data-scenario's met het voordeel van hoge prestaties en een lage geheugenvoetafdruk. |
| Batchmodus in Rowstore | Ja, beginnend met databasecompatibiliteitsniveau 150 | Batchmodus bieden voor relationele DW-workloads die afhankelijk zijn van CPU zonder columnstore-indexen. |
| Geïnterlinieerde Uitvoering | Ja, beginnend met databasecompatibiliteitsniveau 140 | Gebruik de werkelijke kardinaliteit van de multi-statement table-valued functie die bij de eerste compilatie wordt aangetroffen in plaats van een vaste schatting. |
| Geheugentoekenning feedback (Batchmodus) | Ja, beginnend met databasecompatibiliteitsniveau 140 | Als een batchmodusquery bewerkingen bevat die overlopen naar schijf, voegt u meer geheugen toe voor opeenvolgende uitvoeringen. Als een query 50% van het toegewezen geheugen verspilt > , vermindert u de geheugentoekenningsgrootte voor opeenvolgende uitvoeringen. |
| Feedback over geheugen verlenen (rijmodus) | Ja, beginnend met databasecompatibiliteitsniveau 150 | Als een rijmodusquery bewerkingen bevat die overlopen naar schijf, voegt u meer geheugen toe voor opeenvolgende uitvoeringen. Als een query 50% van het toegewezen geheugen verspilt > , vermindert u de geheugentoekenningsgrootte voor opeenvolgende uitvoeringen. |
| Scalaire UDF-inlining | Ja, beginnend met databasecompatibiliteitsniveau 150 | Scalaire UDF's worden omgezet in gelijkwaardige relationele expressies die 'inlined' zijn in de aanroepende query, wat vaak resulteert in aanzienlijke prestatieverbeteringen. |
| Uitgestelde compilatie van tabelvariabele | Ja, beginnend met databasecompatibiliteitsniveau 150 | Gebruik de werkelijke kardinaliteit van de tabelvariabele die op de eerste compilatie is aangetroffen in plaats van een vaste schatting. |
IQP-functies voor SQL Server 2017
| IQP-functie | Ondersteund in SQL Server 2017 (14.x) | Description |
|---|---|---|
| Adaptive Joins (Batch-modus) | Ja, vanaf SQL Server 2017 (14.x) met databasecompatibiliteitsniveau 140 | Adaptieve joins selecteren dynamisch een jointype tijdens runtime op basis van werkelijke invoerrijen. |
| Geschat aantal uniek | Yes | Wij bieden geschatte COUNT DISTINCT voor big data-scenario's met het voordeel van hoge prestaties en een lage geheugenvoetafdruk. |
| Geïnterlinieerde Uitvoering | Ja, beginnend met databasecompatibiliteitsniveau 140 | Gebruik de werkelijke kardinaliteit van de multi-statement table-valued functie die bij de eerste compilatie wordt aangetroffen in plaats van een vaste schatting. |
| Geheugentoekenning feedback (Batchmodus) | Ja, beginnend met databasecompatibiliteitsniveau 140 | Als een batchmodusquery bewerkingen bevat die overlopen naar schijf, voegt u meer geheugen toe voor opeenvolgende uitvoeringen. Als een query 50% van het toegewezen geheugen verspilt > , vermindert u de geheugentoekenningsgrootte voor opeenvolgende uitvoeringen. |
Query Store vereiste
Voor een aantal van de functies voor intelligente queryverwerking moet Query Store zijn ingeschakeld om de gebruikersdatabase te kunnen gebruiken. Zie Query Store inschakelen om de Query Store in te schakelen.
| IQP-functie | Vereist dat Query Store ingeschakeld is en READ_WRITE |
|---|---|
| Adaptive Joins (Batch-modus) | No |
| Geschat aantal uniek | No |
| Percentiel bij benadering | No |
| Batchmodus in Rowstore | No |
| feedback over kardinaliteitschatting (CE) | Yes |
| mate van parallelle uitvoering (DOP) feedback | Yes |
| Geïnterlinieerde Uitvoering | No |
| Geheugentoekenning feedback (Batchmodus) | No |
| Feedback over geheugen verlenen (rijmodus) | No |
| Terugkoppeling over geheugentoewijzing (percentiel- en persistentiemodus) | Yes |
| Geoptimaliseerd plan forceren met Query Store | Yes |
| Scalaire UDF-inlining | No |
| optimalisatie van parametergevoelig plan | Nee, maar aanbevolen |
| Uitgestelde compilatie van tabelvariabele | No |
Verwante inhoud
- Intelligente functies voor queryverwerking in detail
- Joins (SQL Server)
- Uitvoeringsmodi
- architectuurhandleiding voor verwerking van query's
- Logische en fysieke referenties van showplan-operatoren
- Wat is nieuw in SQL Server 2017
- nieuwe functies in SQL Server 2019
- Wat is er nieuw in SQL Server 2022
- geheugen feedback geven
- Intelligente queryverwerking demonstreren
- Constante Vouwen en Expressie-evaluatie
- Demo's voor intelligente queryverwerking op GitHub
- Prestatiecentrum voor SQL Server Database Engine en Azure SQL Database
- Prestaties controleren via de Query Store
- Aanbevolen procedures voor het bewaken van workloads met Query Store