Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w Microsoft Fabric
Rodzina funkcji inteligentnego przetwarzania zapytań (IQP) obejmuje funkcje o szerokim wpływie, które zwiększają wydajność istniejących obciążeń przy minimalnym wysiłku implementacji do wdrożenia. Poniższa grafika zawiera szczegółowe informacje o rodzinie funkcji IQP oraz o tym, kiedy zostały one po raz pierwszy wprowadzone do SQL Server. Wszystkie funkcje IQP są dostępne w Azure SQL Managed Instance i Azure SQL Database. Niektóre funkcje zależą od poziomu zgodności bazy danych.
Obejrzyj ten film wideo, aby uzyskać omówienie inteligentnego przetwarzania zapytań:
Aby zapoznać się z pokazami i przykładowym kodem funkcji inteligentnego przetwarzania zapytań (IQP), zobacz przykładowe repozytorium GitHub.
Można automatycznie umożliwić obciążeniom kwalifikowanie się do inteligentnego przetwarzania zapytań, włączając odpowiedni poziom zgodności bazy danych. Można to ustawić przy użyciu Transact-SQL. Przykład:
ALTER DATABASE [WideWorldImportersDW]
SET COMPATIBILITY_LEVEL = 170;
Poniższa tabela zawiera szczegółowe informacje o wszystkich inteligentnych funkcjach przetwarzania zapytań wraz z wszelkimi wymaganiami dotyczącymi poziomu zgodności bazy danych. Aby uzyskać szczegółowe informacje na temat wszystkich funkcji IQP, w tym informacji o wersji i bardziej szczegółowych opisów, zobacz Funkcje inteligentnego przetwarzania zapytań szczegółowo.
Funkcje IQP dla Azure SQL Database i SQL Server 2025
| Funkcja IQP | Obsługiwane w Azure SQL Database | Obsługiwane w SQL Server 2025 (17.x) | Description |
|---|---|---|---|
| Opcjonalna optymalizacja planu parametrów (OPPO) | Tak, począwszy od poziomu zgodności bazy danych 170 | Tak, począwszy od SQL Server 2025 (17.x) z poziomem zgodności bazy danych 170 | Wykorzystuje infrastrukturę optymalizacji planu adaptacyjnego (Multiplan), która została wprowadzona z ulepszeniem w zakresie optymalizacji planu czułej na parametry (PSPO), który generuje wiele planów z pojedynczego zapytania. Funkcja może wybrać bardziej optymalny plan w czasie wykonywania na podstawie tego, czy parametr ma wartość NULL OR NOT NULL, co poprawia wydajność zapytań, które w przeciwnym razie mogłyby domyślnie działać nieoptymalnie dla takich wzorców zapytań. |
| Informacja zwrotna dotycząca szacowania kardynalności (CE) dla wyrażeń | Tak, począwszy od poziomu zgodności bazy danych 170 | Tak, począwszy od SQL Server 2025 (17.x) z poziomem zgodności bazy danych 160 | Rozszerza informacje zwrotne CE, aby poprawić szacunki kardynalności dla powtarzających się wyrażeń w zapytaniach, poprzez naukę z wcześniejszych wykonań i automatyczne stosowanie odpowiednich modeli CE do przyszłych wykonań tych wyrażeń. |
| OPTIMIZED_SP_EXECUTESQL | Yes | Tak, począwszy od SQL Server 2025 (17.x) | Skutecznie zmniejszać wpływ problemów z kompilacją. Burza kompilacji to sytuacja, w której jest kompilowana jednocześnie duża liczba zapytań, co prowadzi do problemów z wydajnością i rywalizacji o zasoby. Włącz tę funkcję, aby wywołania sp_executesql zachowywały się jak obiekty, takie jak procedury składowane i wyzwalacze, z perspektywy kompilacji. |
Funkcje protokołu IQP dla Azure SQL Database i SQL Server 2022
| Funkcja IQP | Obsługiwane w Azure SQL Database | Obsługiwane w SQL Server 2022 (16.x) i nowszych wersjach | Description |
|---|---|---|---|
| Sprzężenia adaptacyjne (tryb wsadowy) | Tak, począwszy od poziomu zgodności bazy danych 140 | Tak, począwszy od SQL Server 2017 (14.x) z poziomem zgodności bazy danych 140 | Sprzężenia adaptacyjne dynamicznie wybierają typ sprzężenia w czasie wykonywania na podstawie rzeczywistych wierszy wejściowych. |
| Przybliżone zliczanie różnych | Yes | Tak, począwszy od SQL Server 2019 (15.x) | Zapewnij przybliżone COUNT DISTINCT w scenariuszach big data, o wysokiej wydajności i przy niskim zużyciu pamięci. |
| Przybliżony percentyl | Tak, począwszy od poziomu zgodności bazy danych 110 | Tak, począwszy od SQL Server 2022 (16.x) z poziomem zgodności 110 | Szybkie obliczanie percentyli dla dużego zestawu danych z akceptowalnymi granicami błędów opartymi na klasyfikacji, aby pomóc w podejmowaniu szybkich decyzji przy użyciu przybliżonych funkcji agregacji percentylu. |
| Tryb wsadowy w Rowstore | Tak, począwszy od poziomu zgodności bazy danych 150 | Tak, począwszy od SQL Server 2019 (15.x) z poziomem zgodności 150 | Zapewnij tryb wsadowy dla obciążeń relacyjnych usługi DW powiązanych z procesorem CPU bez konieczności stosowania indeksów magazynu kolumn. |
| opinia zwrotna dotycząca szacowania kardynalności (CE) | Tak, począwszy od poziomu zgodności bazy danych 160 | Tak, począwszy od SQL Server 2022 (16.x) z poziomem zgodności 160 | Automatycznie dostosowuje szacunki kardynalności dla powtarzających się zapytań, aby zoptymalizować obciążenia, w których nieefektywne założenia CE powodują niską wydajność zapytań. Opinie CE identyfikują i wykorzystują założenie modelu, które lepiej pasuje do danej dystrybucji zapytań i danych w celu poprawy jakości planu wykonywania zapytań. |
| informacja zwrotna dotycząca stopnia równoległości (DOP) | Tak, począwszy od poziomu zgodności bazy danych 160 | Tak, począwszy od poziomu zgodności bazy danych 160 | Automatycznie dostosowuje stopień równoległości dla powtarzających się zapytań, aby zoptymalizować obciążenia, w których nieefektywna równoległość może wpływać na wydajność. Wymaga włączenia Query Store. |
| Przeplatane wykonywanie | Tak, począwszy od poziomu zgodności bazy danych 140 | Tak, począwszy od SQL Server 2017 (14.x) z poziomem zgodności bazy danych 140 | Używa rzeczywistej kardynalności funkcji tabeli z wieloma instrukcjami napotkanych podczas pierwszej kompilacji zamiast stałego odgadnięcia. |
| Informacja zwrotna o przydziale pamięci (Tryb pakietowy) | Tak, począwszy od poziomu zgodności bazy danych 140 | Tak, począwszy od SQL Server 2017 (14.x) z poziomem zgodności bazy danych 140 | Jeśli zapytanie w trybie wsadowym zawiera operacje, które przelewają się na dysk, należy dodać większą ilość pamięci do kolejnych wykonań. Jeśli zapytanie marnuje > 50% przydzielonej pamięci, zmniejsz rozmiar przydziału pamięci dla kolejnych wykonań. |
| Informacja zwrotna o przydziale pamięci (tryb wiersza) | Tak, począwszy od poziomu zgodności bazy danych 150 | Tak, począwszy od SQL Server 2019 (15.x) z poziomem zgodności bazy danych 150 | Jeśli zapytanie w trybie wiersza zawiera operacje, które rozlają się na dysk, dodaj więcej pamięci do kolejnych wykonań. Jeśli zapytanie marnuje > 50% przydzielonej pamięci, zmniejsz rozmiar przydziału pamięci dla kolejnych wykonań. |
| Informacja zwrotna dotycząca przydziału pamięci (Procentyl) | Tak, włączone we wszystkich bazach danych | Tak, począwszy od SQL Server 2022 (16.x)) z poziomem zgodności bazy danych 140 | Rozwiązuje istniejące ograniczenia dotyczące przekazywania opinii dotyczących przyznawania pamięci w sposób nieinwazyjny, włączając wcześniejsze wykonywanie zapytań w celu uściślinia opinii. |
| Trwałość przekazywania opinii do pamięci | Tak, włączone we wszystkich bazach danych | Tak, począwszy od SQL Server 2022 (16.x)) z poziomem zgodności bazy danych 140 | Zapewnia nową funkcjonalność do zachowywania informacji zwrotnych dotyczących przyznawania pamięci. Wymaga włączenia Query Store dla bazy danych i w trybie READ_WRITE. |
| Trwałość informacji zwrotnej CE | Tak, począwszy od poziomu zgodności bazy danych 160 | Tak, począwszy od SQL Server 2022 (16.x)) z poziomem zgodności bazy danych 160 | Wymaga włączenia Query Store dla bazy danych i w trybie READ_WRITE. |
| Wymuszanie zoptymalizowanego planu za pomocą Query Store | Yes | Tak, począwszy od SQL Server 2022 (16.x)). | Zmniejsza obciążenie kompilacji w przypadku powtarzania wymuszonych zapytań. Aby uzyskać więcej informacji, zobacz Wymuszanie zoptymalizowanego planu za pomocą Query Store. |
| Scalar UDF Inlining | Tak, począwszy od poziomu zgodności bazy danych 150 | Tak, począwszy od SQL Server 2019 (15.x) z poziomem zgodności bazy danych 150 | Skalarne funkcje użytkownika są przekształcane w równoważne wyrażenia relacyjne, które są wstawiane w zapytanie wywołujące, często powodując znaczne poprawy wydajności. |
| Optymalizacja planów wrażliwych na parametry | Tak, począwszy od poziomu zgodności bazy danych 160 | Tak, począwszy od SQL Server 2022 (16.x) z poziomem zgodności bazy danych 160 | Optymalizacja planu zależnego od parametru dotyczy scenariusza, w którym pojedynczy buforowany plan zapytania sparametryzowanego nie jest optymalny dla wszystkich możliwych wartości parametrów przychodzących, na przykład nierównomiernych rozkładów danych. |
| Kompilacja odroczona zmiennej tabeli | Tak, począwszy od poziomu zgodności bazy danych 150 | Tak, począwszy od SQL Server 2019 (15.x) z poziomem zgodności bazy danych 150 | Używa rzeczywistej kardynalności zmiennej tabeli napotkanej podczas pierwszej kompilacji zamiast stałego odgadnięcia. |
Funkcje protokołu IQP dla Azure SQL Managed Instance
| Funkcja IQP | Obsługiwane w Azure SQL Managed Instance | Description |
|---|---|---|
| Sprzężenia adaptacyjne (tryb wsadowy) | Tak, począwszy od poziomu zgodności bazy danych 140 | Sprzężenia adaptacyjne dynamicznie wybierają typ sprzężenia w czasie wykonywania na podstawie rzeczywistych wierszy wejściowych. |
| Przybliżone zliczanie różnych | Yes | Zapewnij przybliżone COUNT DISTINCT w scenariuszach big data, o wysokiej wydajności i przy niskim zużyciu pamięci. |
| Przybliżony percentyl | Tak, począwszy od poziomu zgodności bazy danych 110 | Szybkie obliczanie percentyli dla dużego zestawu danych z akceptowalnymi granicami błędów opartymi na klasyfikacji, aby pomóc w podejmowaniu szybkich decyzji przy użyciu przybliżonych funkcji agregacji percentylu. |
| Tryb wsadowy w Rowstore | Tak, począwszy od poziomu zgodności bazy danych 150 | Zapewnij tryb wsadowy dla obciążeń relacyjnych usługi DW powiązanych z procesorem CPU bez konieczności stosowania indeksów magazynu kolumn. |
| opinia zwrotna dotycząca szacowania kardynalności (CE) | Tak, począwszy od poziomu zgodności bazy danych 160 | Automatycznie dostosowuje szacunki kardynalności dla powtarzających się zapytań, aby zoptymalizować obciążenia, w których nieefektywne założenia CE powodują niską wydajność zapytań. Opinie CE identyfikują i wykorzystują założenie modelu, które lepiej pasuje do danej dystrybucji zapytań i danych w celu poprawy jakości planu wykonywania zapytań. |
| Informacja zwrotna dotycząca szacowania kardynalności (CE) dla wyrażeń | Tak, począwszy od poziomu zgodności bazy danych 160 w Azure SQL Managed Instance, z SQL Server 2025 lub Always-up-to-dateaktualizuj zasady. Nie, dla zasad aktualizacji SQL Server 2022. | Rozszerza informacje zwrotne CE, aby poprawić szacunki kardynalności dla powtarzających się wyrażeń w zapytaniach, poprzez naukę z wcześniejszych wykonań i automatyczne stosowanie odpowiednich modeli CE do przyszłych wykonań tych wyrażeń. |
| informacja zwrotna dotycząca stopnia równoległości (DOP) | Tak, począwszy od poziomu zgodności bazy danych 160 w Azure SQL Managed Instance z SQL Server 2025 lub Always-up-to-datepolityką aktualizacji. Nie, dla zasad aktualizacji SQL Server 2022. | Automatycznie dostosowuje stopień równoległości dla powtarzających się zapytań, aby zoptymalizować obciążenia, w których nieefektywna równoległość może wpływać na wydajność. Wymaga włączenia Query Store. |
| Przeplatane wykonywanie | Tak, począwszy od poziomu zgodności bazy danych 140 | Używa rzeczywistej kardynalności funkcji tabeli z wieloma instrukcjami napotkanych podczas pierwszej kompilacji zamiast stałego odgadnięcia. |
| Informacja zwrotna o przydziale pamięci (Tryb pakietowy) | Tak, począwszy od poziomu zgodności bazy danych 140 | Jeśli zapytanie w trybie wsadowym zawiera operacje, które przelewają się na dysk, należy dodać większą ilość pamięci do kolejnych wykonań. Jeśli zapytanie marnuje > 50% przydzielonej pamięci, zmniejsz rozmiar przydziału pamięci dla kolejnych wykonań. |
| Informacja zwrotna o przydziale pamięci (tryb wiersza) | Tak, począwszy od poziomu zgodności bazy danych 150 | Jeśli zapytanie w trybie wiersza zawiera operacje, które rozlają się na dysk, dodaj więcej pamięci do kolejnych wykonań. Jeśli zapytanie marnuje > 50% przydzielonej pamięci, zmniejsz rozmiar przydziału pamięci dla kolejnych wykonań. |
| Informacja zwrotna dotycząca przydziału pamięci (Procentyl) | Tak, począwszy od poziomu zgodności bazy danych 160 | Rozwiązuje istniejące ograniczenia dotyczące przekazywania opinii dotyczących przyznawania pamięci w sposób nieinwazyjny, włączając wcześniejsze wykonywanie zapytań w celu uściślinia opinii. |
| Trwałość opinii na temat przyznawania pamięci, CE i DOP | Tak, począwszy od poziomu zgodności bazy danych 160 | Zapewnia nową funkcjonalność do zachowywania informacji zwrotnych dotyczących przyznawania pamięci. Informacja zwrotna CE i DOP jest zawsze zapisywana. Wymaga włączenia Query Store dla bazy danych i w trybie READ_WRITE. |
| Opcjonalna optymalizacja planu parametrów (OPPO) | Tak, począwszy od poziomu zgodności bazy danych 170 w Azure SQL Managed Instance z SQL Server 2025 lub Always-up-to-datepolityka aktualizacji. Nie, dla zasad aktualizacji SQL Server 2022. | Wykorzystuje infrastrukturę optymalizacji planu adaptacyjnego (Multiplan), która została wprowadzona z ulepszeniem w zakresie optymalizacji planu czułej na parametry (PSPO), który generuje wiele planów z pojedynczego zapytania. Funkcja może wybrać bardziej optymalny plan w czasie wykonywania na podstawie tego, czy parametr ma wartość NULL OR NOT NULL, co poprawia wydajność zapytań, które w przeciwnym razie mogłyby domyślnie działać nieoptymalnie dla takich wzorców zapytań. |
| Wymuszanie zoptymalizowanego planu w Query Store | Nie | Zmniejsza obciążenie kompilacji w przypadku powtarzania wymuszonych zapytań. Aby uzyskać więcej informacji, zobacz Wymuszanie zoptymalizowanego planu za pomocą Query Store. |
| Optymalizacja planów wrażliwych na parametry | Tak, począwszy od poziomu zgodności bazy danych 160 | Optymalizacja planu wrażliwości parametrów dotyczy scenariusza, w którym pojedynczy plan w pamięci podręcznej dla zapytania sparametryzowanego nie jest optymalny dla wszystkich możliwych wartości przychodzących parametrów, na przykład nierównomiernych dystrybucji danych. |
| Scalar UDF Inlining | Tak, począwszy od poziomu zgodności bazy danych 150 | Skalarne funkcje użytkownika są przekształcane w równoważne wyrażenia relacyjne, które są wstawiane w zapytanie wywołujące, często powodując znaczne poprawy wydajności. |
| Kompilacja odroczona zmiennej tabeli | Tak, począwszy od poziomu zgodności bazy danych 150 | Używa rzeczywistej kardynalności zmiennej tabeli napotkanej podczas pierwszej kompilacji zamiast stałego odgadnięcia. |
Funkcje protokołu IQP dla SQL Server 2019 r.
| Funkcja IQP | Obsługiwane w SQL Server 2019 (15.x) | Description |
|---|---|---|
| Sprzężenia adaptacyjne (tryb wsadowy) | Tak, począwszy od SQL Server 2017 (14.x) z poziomem zgodności bazy danych 140 | Sprzężenia adaptacyjne dynamicznie wybierają typ sprzężenia w czasie wykonywania na podstawie rzeczywistych wierszy wejściowych. |
| Przybliżone zliczanie różnych | Yes | Zapewnij przybliżone COUNT DISTINCT w scenariuszach big data, o wysokiej wydajności i przy niskim zużyciu pamięci. |
| Tryb wsadowy w Rowstore | Tak, począwszy od poziomu zgodności bazy danych 150 | Zapewnij tryb wsadowy dla obciążeń relacyjnych usługi DW powiązanych z procesorem CPU bez konieczności stosowania indeksów magazynu kolumn. |
| Przeplatane wykonywanie | Tak, począwszy od poziomu zgodności bazy danych 140 | Użyj rzeczywistej kardynalności funkcji tabeli z wieloma instrukcjami napotkanych podczas pierwszej kompilacji zamiast stałego odgadnięcia. |
| Informacja zwrotna o przydziale pamięci (Tryb pakietowy) | Tak, począwszy od poziomu zgodności bazy danych 140 | Jeśli zapytanie w trybie wsadowym zawiera operacje, które przelewają się na dysk, należy dodać większą ilość pamięci do kolejnych wykonań. Jeśli zapytanie marnuje > 50% przydzielonej pamięci, zmniejsz rozmiar przydziału pamięci dla kolejnych wykonań. |
| Informacja zwrotna o przydziale pamięci (tryb wiersza) | Tak, począwszy od poziomu zgodności bazy danych 150 | Jeśli zapytanie w trybie wiersza zawiera operacje, które rozlają się na dysk, dodaj więcej pamięci do kolejnych wykonań. Jeśli zapytanie marnuje > 50% przydzielonej pamięci, zmniejsz rozmiar przydziału pamięci dla kolejnych wykonań. |
| Scalar UDF Inlining | Tak, począwszy od poziomu zgodności bazy danych 150 | Skalarne funkcje użytkownika są przekształcane w równoważne wyrażenia relacyjne, które są wstawiane w zapytanie wywołujące, często powodując znaczne poprawy wydajności. |
| Kompilacja odroczona zmiennej tabeli | Tak, począwszy od poziomu zgodności bazy danych 150 | Użyj rzeczywistej kardynalności zmiennej tabeli napotkanej podczas pierwszej kompilacji zamiast stałego odgadnięcia. |
Funkcje IQP dla SQL Server 2017
| Funkcja IQP | Obsługiwane w SQL Server 2017 (14.x) | Description |
|---|---|---|
| Sprzężenia adaptacyjne (tryb wsadowy) | Tak, począwszy od SQL Server 2017 (14.x) z poziomem zgodności bazy danych 140 | Sprzężenia adaptacyjne dynamicznie wybierają typ sprzężenia w czasie wykonywania na podstawie rzeczywistych wierszy wejściowych. |
| Przybliżone zliczanie różnych | Yes | Zapewnij przybliżone COUNT DISTINCT w scenariuszach big data, o wysokiej wydajności i przy niskim zużyciu pamięci. |
| Przeplatane wykonywanie | Tak, począwszy od poziomu zgodności bazy danych 140 | Użyj rzeczywistej kardynalności funkcji tabeli z wieloma instrukcjami napotkanych podczas pierwszej kompilacji zamiast stałego odgadnięcia. |
| Informacja zwrotna o przydziale pamięci (Tryb pakietowy) | Tak, począwszy od poziomu zgodności bazy danych 140 | Jeśli zapytanie w trybie wsadowym zawiera operacje, które przelewają się na dysk, należy dodać większą ilość pamięci do kolejnych wykonań. Jeśli zapytanie marnuje > 50% przydzielonej pamięci, zmniejsz rozmiar przydziału pamięci dla kolejnych wykonań. |
wymagania dotyczące Query Store
Kilka funkcji inteligentnego przetwarzania zapytań wymaga, aby funkcja Query Store była włączona, aby przynieść korzyści bazie danych użytkownika. Aby włączyć Query Store, zobacz Włączenie Query Store.
| Funkcja IQP | Wymaga włączenia Query Store i READ_WRITE |
|---|---|
| Sprzężenia adaptacyjne (tryb wsadowy) | No |
| Przybliżone zliczanie różnych | No |
| Przybliżony percentyl | No |
| Tryb wsadowy w Rowstore | No |
| opinia zwrotna dotycząca szacowania kardynalności (CE) | Yes |
| informacja zwrotna dotycząca stopnia równoległości (DOP) | Yes |
| Przeplatane wykonywanie | No |
| Informacja zwrotna o przydziale pamięci (Tryb pakietowy) | No |
| Informacja zwrotna o przydziale pamięci (tryb wiersza) | No |
| Informacja zwrotna dotycząca przydzielania pamięci (tryb percentylu i trwałości) | Yes |
| Wymuszanie zoptymalizowanego planu za pomocą Query Store | Yes |
| Scalar UDF Inlining | No |
| Optymalizacja planów wrażliwych na parametry | Nie, ale zalecane |
| Kompilacja odroczona zmiennej tabeli | No |
Treści powiązane
- Szczegółowe funkcje inteligentnego przetwarzania zapytań
- Łączenia (SQL Server)
- Tryby wykonywania
- przewodnik po architekturze przetwarzania zapytań
- Odwołanie do operatora logicznego i fizycznego planu wykonania
- Co nowego w SQL Server 2017
- Co nowego w SQL Server 2019
- Co nowego w SQL Server 2022
-
Memory udziela opinii - Demonstrowanie inteligentnego przetwarzania zapytań
- Stałe składanie i obliczanie wyrażeń
- Intelligentne pokazy przetwarzania zapytań w GitHub
- Performance Center for SQL Server Database Engine and Azure SQL Database
- Monitorowanie wydajności przy użyciu Query Store
- Najlepsze praktyki do monitorowania obciążeń przy użyciu Query Store