sys.dm_exec_query_stats (języka Transact-SQL)
Zwraca wartość wartość zagregowana statystyki wydajności dla planów kwerend buforowane.Widok zawiera jeden wiersz na kwerendy instrukcja w ramach buforowanego planu i okres istnienia wiersze są powiązane z sam plan.Po usunięciu planu z pamięci podręcznej odpowiadających im wierszy są eliminowane w tym widoku.
Ostrzeżenie
Kwerendy początkowej sys.dm_exec_query_stats może powodować niedokładne wyniki , jeśli obciążenie pracą aktualnie wykonywanych na serwerze.Dokładniejsze wyniki może być określona, uruchamiając ponownie kwerendę.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
sql_handle |
varbinary(64) |
Jest tokenu, który odnosi się do partia lub procedura składowana , będącego częścią kwerendy. sql_handle, łącznie z statement_start_offset i statement_end_offset, można pobrać instrukcję SQL kwerendy przez wywołanie sys.dm_exec_sql_text funkcja dynamicznego zarządzania. |
statement_start_offset |
int |
Określa w bajtach, rozpoczynający się od 0, pozycji początkowej kwerendę, która zawiera opis wiersza tekstu jego partia lub trwałych obiektów. |
statement_end_offset |
int |
Określa w bajtach, począwszy od 0, pozycję końcową kwerendę, która zawiera opis wiersza tekstu jego partia lub trwałych obiektów.Wartość -1 oznacza zakończenie partia. |
plan_generation_num |
bigint |
Numer sekwencji, używany do rozróżniania między wystąpieniami plany po ponownej kompilacji. |
plan_handle |
varbinary(64) |
Tokenu, który odnosi się do skompilowany plan, będącego częścią kwerendy.Wartość tę można przekazać do sys.dm_exec_query_plan funkcja dynamicznego zarządzania uzyskiwania planu kwerend. |
creation_time |
datetime |
Czas skompilowanego planu. |
last_execution_time |
datetime |
Ostatni czas , jaką planu rozpocząć wykonywanie. |
execution_count |
bigint |
Ile razy planu zostały wykonane od czasu ostatniego został skompilowany. |
total_worker_time |
bigint |
Łączna kwota CPU czas, zgłoszone w mikrosekundach (ale tylko dokładność milisekund), które było używane przez wykonania tego planu, ponieważ został skompilowany. |
last_worker_time |
bigint |
CPU czas, zgłoszone w mikrosekundach (ale tylko dokładność milisekund), które zostały zużyte ostatniego czas planu zostało wykonane. |
min_worker_time |
bigint |
CPU minimalny czas, zgłoszone w mikrosekundach (ale tylko dokładność milisekund), że ten plan kiedykolwiek zużył podczas wykonywania pojedynczej. |
max_worker_time |
bigint |
CPU maksymalny czas, zgłoszone w mikrosekundach (ale tylko dokładność milisekund), że ten plan kiedykolwiek zużył podczas wykonywania pojedynczej. |
total_physical_reads |
bigint |
Całkowita liczba fizyczny Odczyty wykonywane przez wykonania tego planu, ponieważ został skompilowany. |
last_physical_reads |
bigint |
Liczba odczytów fizycznej wykonywane ostatniego czas planu zostało wykonane. |
min_physical_reads |
bigint |
Minimalna liczba odczytów fizyczne, które kiedykolwiek wykonał ten plan podczas wykonywania jednego. |
max_physical_reads |
bigint |
Maksymalna liczba odczytów fizyczne, które kiedykolwiek wykonał ten plan podczas wykonywania jednego. |
total_logical_writes |
bigint |
Całkowita liczba zapisów logiczne wykonywane przez wykonania tego planu, ponieważ został skompilowany. |
last_logical_writes |
bigint |
Liczba zapisów logiczne wykonywane ostatniego czas planu zostało wykonane. |
min_logical_writes |
bigint |
Minimalna liczba logicznych zapisów, które kiedykolwiek wykonał ten plan podczas wykonywania pojedynczej. |
max_logical_writes |
bigint |
Maksymalna liczba logicznych zapisów, które kiedykolwiek wykonał ten plan podczas wykonywania pojedynczej. |
total_logical_reads |
bigint |
Całkowita liczba logicznych odczyty wykonywane przez wykonania tego planu, ponieważ został skompilowany. |
last_logical_reads |
bigint |
Liczba logicznych odczyty wykonywane ostatniego czas planu zostało wykonane. |
min_logical_reads |
bigint |
Minimalna liczba odczytów logiczne, które kiedykolwiek wykonał ten plan podczas wykonywania pojedynczej. |
max_logical_reads |
bigint |
Maksymalna liczba odczytów logiczne, które kiedykolwiek wykonał ten plan podczas wykonywania pojedynczej. |
total_clr_time |
bigint |
Czas w mikrosekundach (ale tylko dokładność milisekund), zużyte wewnątrz Microsoft .NET Framework plików wykonywalnych języka wspólnego (CLR) obiektów przez wykonania tego planu, ponieważ został skompilowany.Obiekty CLR może być procedur przechowywanych, funkcji, wyzwalaczy, typów i agregatów. |
last_clr_time |
bigint |
Czas podany w mikrosekundach (ale tylko dokładność milisekundach), przez wykonanie wewnątrz .NET Framework obiektów CLR podczas ostatniego wykonywania tego planu.Obiekty CLR może być procedur przechowywanych, funkcji, wyzwalaczy, typów i agregatów. |
min_clr_time |
bigint |
Minimalny czaspodany w mikrosekundach (ale tylko dokładność milisekund), które kiedykolwiek zużył ten plan wewnątrz .NET Framework obiektów CLR Podczas wykonywania pojedynczej.Obiekty CLR może być procedur przechowywanych, funkcji, wyzwalaczy, typów i agregatów. |
max_clr_time |
bigint |
Maksymalny czaspodany w mikrosekundach (ale tylko dokładność milisekund), które kiedykolwiek zużył ten plan wewnątrz .NET Framework CLR Podczas wykonywania pojedynczej.Obiekty CLR może być procedur przechowywanych, funkcji, wyzwalaczy, typów i agregatów. |
total_elapsed_time |
bigint |
Suma upływu czas, raportowane w mikrosekundach (ale tylko dokładności w milisekundach), ukończone wykonania tego planu. |
last_elapsed_time |
bigint |
Upłynięte czaszgłoszone w mikrosekundach (ale tylko dokładności w milisekundach), ostatnio przeprowadzone realizacji tego planu. |
min_elapsed_time |
bigint |
Minimum upływu czas, raportowane w mikrosekundach (ale tylko dokładności w milisekundach), ukończone realizacji tego planu. |
max_elapsed_time |
bigint |
Maksymalnie upływu czas, raportowane w mikrosekundach (ale tylko dokładności w milisekundach), ukończone realizacji tego planu. |
query_hash |
Binary(8) |
Wartość mieszania binarne obliczona na tej kwerendzie i służy do identyfikowania kwerend w logice podobne.Mieszanie kwerend służy do ustalania wartość zagregowanaobciążeniezasób dla kwerend, które różnią się tylko wartości literałów. Aby uzyskać więcej informacji, zobacz Znajdowanie i dostrajania podobnych kwerend za pomocą kwerendy i kwerendy Plan mieszania. |
query_plan_hash |
binary(8) |
Wartość mieszania binarne obliczone na plan wykonania kwerend i służy do identyfikowania planów wykonywanie podobnych kwerend.Mieszanie planu kwerend służy do znajdowania koszt skumulowany kwerend z podobnych wykonanie planów.Aby uzyskać więcej informacji, zobacz Znajdowanie i dostrajania podobnych kwerend za pomocą kwerendy i kwerendy Plan mieszania. |
Uprawnienia
Wymaga uprawnienia Wyświetlanie stanu serwera na serwerze.
Uwagi
Statystyki w widoku są aktualizowane po wykonaniu kwerendy.
Przykłady
A.Znajdowanie kwerend pierwsze n
Poniższy przykład zwraca informacje o górnym kwerend pięciu uporządkowane według Procesora średni czas.W tym przykładzie agregatów kwerend zgodnie z ich mieszania kwerendę tak, aby logicznie równoznaczna kwerendy są pogrupowane według ich spożycia skumulowany zasób .
USE AdventureWorks2008R2;
GO
SELECT TOP 5 query_stats.query_hash AS "Query Hash",
SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS "Avg CPU Time",
MIN(query_stats.statement_text) AS "Statement Text"
FROM
(SELECT QS.*,
SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(ST.text)
ELSE QS.statement_end_offset END
- QS.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST) as query_stats
GROUP BY query_stats.query_hash
ORDER BY 2 DESC;
GO