sys.dm_exec_query_optimizer_info (języka Transact-SQL)
Zwraca szczegółowe dane statystyczne dotyczące działania SQL Server optymalizator kwerendy. W tym widoku można użyć podczas dostrajania obciążenie pracą do identyfikowania problemów optymalizacji kwerendy lub ulepszenia.Na przykład całkowita liczba optymalizacji, wartość czas, jaki upłynął, a wartość końcowych kosztów można użyć do porównania optymalizacji kwerendy bieżące obciążenie pracą oraz wszelkie zmiany obserwowane podczas procesu dostosowywania.Niektóre liczniki zawierają dane, które ma zastosowanie tylko w przypadku SQL Server diagnostyczne użytku wewnętrznego. Te liczniki są tylko oznaczone jako "Wewnętrzny."
Imię i nazwisko |
Typ danych |
Description |
|---|---|---|
Licznik |
nvarchar(8000) |
Nazwa zdarzenie statystyki optymalizatora. |
wystąpienie |
bigint |
Liczba wystąpień optymalizacji zdarzeń dla tego licznika. |
wartość |
float |
Średnia wartość właściwość dla każdego wystąpienia zdarzenie. |
Uprawnienia
Wymaga uprawnienia VIEW SERVER STATE na serwerze.
Remarks
sys.dm_exec_query_optimizer_info zawiera następujące właściwości (liczniki).Wszystkie wystąpienia wartości kumulują się i są zestaw ponownie na 0 w systemie.Wszystkie wartości w polach wartości są zestaw wartości null podczas ponownego uruchamiania systemu.Wszystkie wartości kolumna wartości określające wartość średnia należy użyć wartości wystąpienia, w tym samym wierszu jako dzielnik przy obliczaniu średniej.Wszystkie kwerendy optymalizacji są mierzone po SQL Server Określa, zmiany dm_exec_query_optimizer_info, łącznie z obu kwerendy użytkownika i wygenerowane przez system.Wykonanie planu już buforowane nie powoduje zmiany wartości dm_exec_query_optimizer_info, tylko optymalizacji są istotne.
Licznik |
Wystąpienie |
Wartość |
|---|---|---|
Optymalizacje |
Całkowita liczba optymalizacje. |
Nie dotyczy |
czas |
Całkowita liczba optymalizacje. |
Średni czas na optymalizację poszczególnych instrukcja SQL (kwerendę), w sekundach. |
koszt końcowy |
Całkowita liczba optymalizacje. |
Średni koszt szacowany planu zoptymalizowanych w jednostkach wewnętrznych kosztów. |
Trivial plan |
Tylko wewnętrzna |
Tylko wewnętrzna |
zadania |
Tylko wewnętrzna |
Tylko wewnętrzna |
nie planu |
Tylko wewnętrzna |
Tylko wewnętrzna |
Wyszukiwanie 0 |
Tylko wewnętrzna |
Tylko wewnętrzna |
Wyszukiwanie czas 0 |
Tylko wewnętrzna |
Tylko wewnętrzna |
zadania wyszukiwania 0 |
Tylko wewnętrzna |
Tylko wewnętrzna |
Wyszukiwanie 1 |
Tylko wewnętrzna |
Tylko wewnętrzna |
Wyszukiwanie czas 1 |
Tylko wewnętrzna |
Tylko wewnętrzna |
zadania wyszukiwania 1 |
Tylko wewnętrzna |
Tylko wewnętrzna |
Wyszukiwanie 2 |
Tylko wewnętrzna |
Tylko wewnętrzna |
Wyszukiwanie czas 2 |
Tylko wewnętrzna |
Tylko wewnętrzna |
zadania wyszukiwania 2 |
Tylko wewnętrzna |
Tylko wewnętrzna |
uzyskanie etapu 0-etap 1 |
Tylko wewnętrzna |
Tylko wewnętrzna |
uzyskanie etapu 1-etap 2 |
Tylko wewnętrzna |
Tylko wewnętrzna |
limit czasu |
Tylko wewnętrzna |
Tylko wewnętrzna |
Przekroczono limit pamięci |
Tylko wewnętrzna |
Tylko wewnętrzna |
Wstawianie stmt |
Liczba optymalizację dla instrukcji INSERT. |
Nie dotyczy |
Usuwanie stmt |
Liczba optymalizacji, które są dla instrukcji DELETE. |
Nie dotyczy |
Aktualizacja stmt |
Liczba optymalizacji, które są dla instrukcji UPDATE. |
Nie dotyczy |
zawiera podkwerenda |
Liczba optymalizację dla kwerendy, która zawiera co najmniej jeden podkwerenda. |
Nie dotyczy |
unnest nie powiodło się |
Tylko wewnętrzna |
Tylko wewnętrzna |
tabele |
Całkowita liczba optymalizacje. |
Średnia liczba tabel odwołuje się do na kwerendy zoptymalizowany. |
wskazówki dotyczące serwerów |
Liczba określająca, ile razy podano pewne wskazówki.Wskazówki dotyczące zliczane należą: łączyć, GROUP, UNION i FORCE ORDER wskazówki kwerendy FORCE PLAN opcji i dołączyć wskazówki. |
Nie dotyczy |
Wskazówka zamówienia |
Liczba określająca, ile razy życie wskazówkę zamówienia został określony. |
Nie dotyczy |
Wskazówka łączyć |
Liczba określająca, ile razy algorytm łączyć zostało wymuszone przez wskazówkę dotyczącą łączyć. |
Nie dotyczy |
Odwołanie do widoku |
Liczba określająca, ile razy widoku odwołano się w kwerendzie. |
Nie dotyczy |
zdalne kwerendy |
Liczba optymalizacji, w których kwerendy odwołuje się do co najmniej jedno urządzenie źródłowe dane zdalne, takich jak tabela o nazwie four-part lub wynik OPENROWSET. |
Nie dotyczy |
DOP maksymalna |
Całkowita liczba optymalizacje. |
Skuteczne MAXDOP wartość średnią dla planu, który jest zoptymalizowanym.Domyślnie, efektywne MAXDOP zależy od tego, maksymalny stopień proste konfiguracja serwera opcję i może zostać zastąpiona dla określonej kwerendy przez wartości do kwerendy wskazówkę dotyczącą kwerendy MAXDOP. |
Poziom rekurencji maksymalną |
Liczba optymalizacji, w którym został określony poziom MAXRECURSION większa niż 0 z wskazówki dotyczącej kwerendy. |
Średni poziom MAXRECURSION w optymalizacje gdzie poziom rekursji maksymalna jest określany za pomocą kwerendy wskazówkę dotyczącą kwerendy. |
Widoki indeksowane załadowane |
Tylko wewnętrzna |
Tylko wewnętrzna |
Widoki indeksowane dopasowane |
Liczba optymalizacje jeden lub większą liczbę widoków indeksowanych mają zostały dopasowane. |
Średnia liczba widoków nie pasuje. |
Widoki indeksowane używane |
Liczba w przypadku gdy jeden lub większą liczbę widoków indeksowanych są używane w planie wyjścia po filtrowanego optymalizacje. |
Średnia liczba używanych widoków. |
Widoki indeksowane zaktualizowane |
Liczba optymalizacje instrukcja DML, które wywołują planu, który obsługuje jeden lub większą liczbę widoków indeksowanych. |
Średnia liczba widoków utrzymane. |
kursor dynamiczny żądania |
Liczba optymalizacji, w którym określono żądanie dynamicznej kursor. |
Nie dotyczy |
żądanie kursor szybko do przodu |
Liczba optymalizacji, w którym określono żądanie kursor w trakcie przewijania do przodu. |
Nie dotyczy |
stmt korespondencji seryjnej |
Liczba optymalizacje przeznaczonych do korespondencji SERYJNEJ instrukcji. |
Nie dotyczy |
Przykłady
A.Wyświetlanie statystyk na wykonanie Optymalizator
Co to są bieżące statystyki wykonanie Optymalizator dla tego wystąpienie SQL Server?
SELECT * FROM sys.dm_exec_query_optimizer_info;
B.Wyświetlanie całkowitej liczby optymalizacje
Ile optymalizacji są wykonywane?
SELECT occurrence AS Optimizations FROM sys.dm_exec_query_optimizer_info
WHERE counter = 'optimizations';
C.Średni czas na optymalizacji
Co to jest średni czas na optymalizacji?
SELECT ISNULL(value,0.0) AS ElapsedTimePerOptimization
FROM sys.dm_exec_query_optimizer_info WHERE counter = 'elapsed time';
D.Ułamek optymalizacji, które mogą obejmować podkwerendy
Jaki ułamek zoptymalizowane kwerendy zawarte podkwerenda?
SELECT (SELECT CAST (occurrence AS float) FROM sys.dm_exec_query_optimizer_info WHERE counter = 'contains subquery') /
(SELECT CAST (occurrence AS float)
FROM sys.dm_exec_query_optimizer_info WHERE counter = 'optimizations')
AS ContainsSubqueryFraction;