Udostępnij za pośrednictwem


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