Delen via


sys.dm_exec_query_stats (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Retourneert statistische prestatiestatistieken voor queryplannen in de cache in SQL Server. De weergave bevat één rij per query-instructie in het cacheplan en de levensduur van de rijen is gekoppeld aan het plan zelf. Wanneer een plan uit de cache wordt verwijderd, worden de bijbehorende rijen uit deze weergave verwijderd.

De resultaten van sys.dm_exec_query_stats kunnen variëren met elke uitvoering, omdat de gegevens alleen voltooide query's weerspiegelen en niet de gegevens die nog in de vlucht zijn.

Als u deze DMV wilt aanroepen vanuit een toegewezen SQL-pool in Azure Synapse Analytics of Analytics Platform System (PDW), gebruikt u de naam sys.dm_pdw_nodes_exec_query_stats. Gebruik sys.dm_exec_query_statsvoor een serverloze SQL-pool.

Kolomnaam Gegevenstype Beschrijving
sql_handle varbinary(64) Een token waarmee de batch of opgeslagen procedure waarvan de query deel uitmaakt, uniek wordt geïdentificeerd.

sql_handle, samen met statement_start_offset en statement_end_offset, kan worden gebruikt om de SQL-tekst van de query op te halen door de sys.dm_exec_sql_text dynamische beheerfunctie aan te roepen.
statement_start_offset Geeft in bytes, beginnend met 0, de beginpositie van de query aan die de rij in de tekst van de batch of het persistente object beschrijft.
statement_end_offset Geeft in bytes, te beginnen met 0, de eindpositie van de query aan die in de rij wordt beschreven in de tekst van de batch of het persistente object. Voor versies vóór SQL Server 2014 (12.x) geeft een waarde van -1 het einde van de batch aan. Volgopmerkingen worden niet meer opgenomen.
plan_generation_num grote Een volgnummer dat kan worden gebruikt om na een hercompilatie onderscheid te maken tussen exemplaren van plannen.
plan_handle varbinary(64) Een token dat een queryuitvoeringsplan op unieke wijze identificeert voor een batch die is uitgevoerd en het bijbehorende plan zich in de plancache bevindt of momenteel wordt uitgevoerd. Deze waarde kan worden doorgegeven aan de sys.dm_exec_query_plan dynamische beheerfunctie om het queryplan te verkrijgen.

Altijd 0x000 wanneer een systeemeigen gecompileerde opgeslagen procedure query's uitvoert op een tabel die is geoptimaliseerd voor geheugen.
creation_time datum/tijd- Tijdstip waarop het plan is gecompileerd. De tijd wordt vastgelegd in de huidige tijdzone.
last_execution_time datum/tijd- Laatste keer waarop het plan werd uitgevoerd. De tijd wordt vastgelegd in de huidige tijdzone.
execution_count grote Aantal keren dat het plan is uitgevoerd sinds het voor het laatst is gecompileerd.
total_worker_time grote Totale hoeveelheid CPU-tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), die is verbruikt door uitvoeringen van dit plan sinds het is gecompileerd.

Voor systeemeigen gecompileerde opgeslagen procedures is total_worker_time mogelijk niet nauwkeurig als veel uitvoeringen minder dan 1 milliseconden duren.
last_worker_time grote CPU-tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), die de laatste keer dat het plan werd uitgevoerd, werd verbruikt. 1
min_worker_time grote Minimale CPU-tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), dat dit plan ooit heeft verbruikt tijdens één uitvoering. 1
max_worker_time grote Maximale CPU-tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), dat dit plan ooit heeft verbruikt tijdens één uitvoering. 1
total_physical_reads grote Het totale aantal fysieke leesbewerkingen uitgevoerd door uitvoeringen van dit plan sinds deze is gecompileerd.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
last_physical_reads grote Het aantal fysieke leesbewerkingen dat de laatste keer is uitgevoerd toen het plan werd uitgevoerd.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
min_physical_reads grote Minimaal aantal fysieke leesbewerkingen dat dit plan ooit heeft uitgevoerd tijdens één uitvoering.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
max_physical_reads grote Maximum aantal fysieke leesbewerkingen dat dit plan ooit heeft uitgevoerd tijdens één uitvoering.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
total_logical_writes grote Het totale aantal logische schrijfbewerkingen uitgevoerd door uitvoeringen van dit plan sinds deze is gecompileerd.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
last_logical_writes grote Aantal bufferpoolpagina's die vuil zijn tijdens de meest recent voltooide uitvoering van het plan.

Nadat een pagina is gelezen, wordt de pagina alleen vuil wanneer deze voor het eerst wordt gewijzigd. Wanneer een pagina vuil wordt, wordt dit getal verhoogd. Latere wijzigingen van een reeds vuile pagina hebben geen invloed op dit nummer.
Dit nummer 0 altijd bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
min_logical_writes grote Minimaal aantal logische schrijfbewerkingen dat dit plan ooit heeft uitgevoerd tijdens één uitvoering.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
max_logical_writes grote Maximum aantal logische schrijfbewerkingen dat dit plan ooit heeft uitgevoerd tijdens één uitvoering.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
total_logical_reads grote Totaal aantal logische leesbewerkingen uitgevoerd door uitvoeringen van dit plan sinds deze is gecompileerd.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
last_logical_reads grote Het aantal logische leesbewerkingen dat de laatste keer is uitgevoerd toen het plan werd uitgevoerd.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
min_logical_reads grote Minimaal aantal logische leesbewerkingen dat dit plan ooit heeft uitgevoerd tijdens één uitvoering.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
max_logical_reads grote Maximum aantal logische leesbewerkingen dat dit plan ooit heeft uitgevoerd tijdens één uitvoering.

Altijd 0 bij het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.
total_clr_time grote Tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), verbruikt in CLR-objecten (Common Language Runtime) van Microsoft .NET Framework door uitvoeringen van dit plan sinds het is gecompileerd. De CLR-objecten kunnen worden opgeslagen in procedures, functies, triggers, typen en aggregaties.
last_clr_time grote Tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden) die wordt verbruikt door uitvoering binnen .NET Framework CLR-objecten tijdens de laatste uitvoering van dit plan. De CLR-objecten kunnen worden opgeslagen in procedures, functies, triggers, typen en aggregaties.
min_clr_time grote Minimale tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), dat dit plan ooit in .NET Framework CLR-objecten heeft verbruikt tijdens één uitvoering. De CLR-objecten kunnen worden opgeslagen in procedures, functies, triggers, typen en aggregaties.
max_clr_time grote Maximale tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), dat dit plan ooit in de .NET Framework CLR heeft verbruikt tijdens één uitvoering. De CLR-objecten kunnen worden opgeslagen in procedures, functies, triggers, typen en aggregaties.
total_elapsed_time grote Totale verstreken tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), voor voltooide uitvoeringen van dit plan.
last_elapsed_time grote Verstreken tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), voor de meest recent voltooide uitvoering van dit plan.
min_elapsed_time grote Minimale verstreken tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), voor elke voltooide uitvoering van dit plan.
max_elapsed_time grote Maximale verstreken tijd, gerapporteerd in microseconden (maar alleen nauwkeurig tot milliseconden), voor elke voltooide uitvoering van dit plan.
query_hash Binary(8) Binaire hashwaarde die wordt berekend op de query en wordt gebruikt om query's met vergelijkbare logica te identificeren. U kunt de query-hash gebruiken om het geaggregeerde resourcegebruik te bepalen voor query's die alleen verschillen per letterlijke waarden.
query_plan_hash binary(8) Binaire hashwaarde berekend op het queryuitvoeringsplan en wordt gebruikt om vergelijkbare queryuitvoeringsplannen te identificeren. U kunt hash van het queryplan gebruiken om de cumulatieve kosten van query's met vergelijkbare uitvoeringsplannen te vinden.

Altijd 0x000 wanneer een systeemeigen gecompileerde opgeslagen procedure query's uitvoert op een tabel die is geoptimaliseerd voor geheugen.
total_rows grote Het totale aantal rijen dat door de query wordt geretourneerd. Kan niet null zijn.

Altijd 0 wanneer een systeemeigen gecompileerde opgeslagen procedure query's uitvoert op een tabel die is geoptimaliseerd voor geheugen.
last_rows grote Aantal rijen dat wordt geretourneerd door de laatste uitvoering van de query. Kan niet null zijn.

Altijd 0 wanneer een systeemeigen gecompileerde opgeslagen procedure query's uitvoert op een tabel die is geoptimaliseerd voor geheugen.
min_rows grote Minimaal aantal rijen dat door de query is geretourneerd tijdens één uitvoering. Kan niet null zijn.

Altijd 0 wanneer een systeemeigen gecompileerde opgeslagen procedure query's uitvoert op een tabel die is geoptimaliseerd voor geheugen.
max_rows grote Het maximum aantal rijen dat door de query is geretourneerd tijdens één uitvoering. Kan niet null zijn.

Altijd 0 wanneer een systeemeigen gecompileerde opgeslagen procedure query's uitvoert op een tabel die is geoptimaliseerd voor geheugen.
statement_sql_handle varbinary(64) Van toepassing op: SQL Server 2014 (12.x) en nieuwere versies.

Alleen gevuld met niet-NULL-waarden als Query Store is ingeschakeld en de statistieken voor die specifieke query wordt verzameld.
statement_context_id grote Van toepassing op: SQL Server 2014 (12.x) en nieuwere versies.

Alleen gevuld met niet-NULL-waarden als Query Store is ingeschakeld en de statistieken voor die specifieke query wordt verzameld.
total_dop grote De totale som van de mate van parallelle uitvoering die dit plan heeft gebruikt sinds het is gecompileerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
last_dop grote De mate van parallelle uitvoering wanneer dit plan de laatste keer werd uitgevoerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
min_dop grote De minimale mate van parallelle uitvoering die dit plan ooit heeft gebruikt tijdens één uitvoering. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
max_dop grote De maximale mate van parallelle uitvoering die dit plan ooit heeft gebruikt tijdens één uitvoering. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
total_grant_kb grote De totale hoeveelheid gereserveerde geheugentoe kennen in KB die dit plan heeft ontvangen sinds deze is gecompileerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
last_grant_kb grote De hoeveelheid gereserveerde geheugentoe kennen in KB wanneer dit plan de laatste keer werd uitgevoerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
min_grant_kb grote De minimale hoeveelheid gereserveerde geheugentoe kennen in KB die dit plan ooit tijdens één uitvoering heeft ontvangen. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
max_grant_kb grote De maximale hoeveelheid gereserveerde geheugentoe kennen in KB die dit plan ooit tijdens één uitvoering heeft ontvangen. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
total_used_grant_kb grote De totale hoeveelheid gereserveerde geheugentoe kennen in KB die door dit plan is gebruikt sinds deze is gecompileerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
last_used_grant_kb grote De hoeveelheid gebruikte geheugentoe kennen in KB wanneer dit plan de laatste keer werd uitgevoerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
min_used_grant_kb grote De minimale hoeveelheid gebruikte geheugentoe kennen in KB die dit plan ooit tijdens één uitvoering heeft gebruikt. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
max_used_grant_kb grote De maximale hoeveelheid gebruikte geheugentoe kennen in KB die dit plan ooit tijdens één uitvoering heeft gebruikt. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
total_ideal_grant_kb grote De totale hoeveelheid ideale geheugentoe kennen in KB die door dit plan wordt geschat sinds deze is gecompileerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
last_ideal_grant_kb grote De hoeveelheid ideale geheugentoe kennen in KB wanneer dit plan de laatste keer werd uitgevoerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
min_ideal_grant_kb grote De minimale hoeveelheid ideale geheugentoe kennen in KB die dit plan ooit tijdens één uitvoering heeft geschat. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
max_ideal_grant_kb grote De maximale hoeveelheid ideale geheugentoe kennen in KB die dit plan ooit tijdens één uitvoering heeft geschat. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
total_reserved_threads grote De totale som van gereserveerde parallelle threads die dit plan ooit heeft gebruikt sinds het is gecompileerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
last_reserved_threads grote Het aantal gereserveerde parallelle threads wanneer dit plan de laatste keer werd uitgevoerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
min_reserved_threads grote Het minimale aantal gereserveerde parallelle threads dat dit plan ooit tijdens één uitvoering heeft gebruikt. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
max_reserved_threads grote Het maximum aantal gereserveerde parallelle threads dat dit plan ooit tijdens één uitvoering heeft gebruikt. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
total_used_threads grote De totale som van de gebruikte parallelle threads die dit plan ooit heeft gebruikt sinds het is gecompileerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
last_used_threads grote Het aantal gebruikte parallelle threads wanneer dit plan de laatste keer werd uitgevoerd. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
min_used_threads grote Het minimale aantal gebruikte parallelle threads dat dit plan ooit heeft gebruikt tijdens één uitvoering. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
max_used_threads grote Het maximum aantal gebruikte parallelle threads dat dit plan ooit tijdens één uitvoering heeft gebruikt. Altijd 0 voor het uitvoeren van query's op een tabel die is geoptimaliseerd voor geheugen.

Van toepassing op: SQL Server 2016 (13.x) en latere versies.
total_columnstore_segment_reads grote De totale som van columnstore-segmenten die door de query worden gelezen. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
last_columnstore_segment_reads grote Het aantal columnstore-segmenten dat wordt gelezen door de laatste uitvoering van de query. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
min_columnstore_segment_reads grote Het minimale aantal columnstore-segmenten dat tijdens één uitvoering door de query is gelezen. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
max_columnstore_segment_reads grote Het maximum aantal columnstore-segmenten dat tijdens één uitvoering door de query is gelezen. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
total_columnstore_segment_skips grote De totale som van columnstore-segmenten die door de query zijn overgeslagen. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
last_columnstore_segment_skips grote Het aantal columnstore-segmenten dat is overgeslagen door de laatste uitvoering van de query. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
min_columnstore_segment_skips grote Het minimale aantal columnstore-segmenten dat tijdens één uitvoering door de query is overgeslagen. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
max_columnstore_segment_skips grote Het maximum aantal columnstore-segmenten dat tijdens één uitvoering door de query is overgeslagen. Kan niet null zijn.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
total_spills grote Het totale aantal pagina's dat is overgelopen door de uitvoering van deze query sinds deze is gecompileerd.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
last_spills grote Het aantal pagina's dat de laatste keer dat de query werd uitgevoerd, is overgelopen.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
min_spills grote Het minimale aantal pagina's dat deze query ooit heeft overgeslagen tijdens één uitvoering.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
max_spills grote Het maximum aantal pagina's dat deze query ooit heeft overgeslagen tijdens één uitvoering.

van toepassing op: te beginnen met SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3
pdw_node_id De id voor het knooppunt waarop deze distributie zich bevindt.

van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW)
total_page_server_reads grote Het totale aantal externe paginaserver-leesbewerkingen uitgevoerd door uitvoeringen van dit plan sinds deze is gecompileerd.

van toepassing op: Azure SQL Database Hyperscale
last_page_server_reads grote Aantal leesbewerkingen van externe paginaservers uitgevoerd de laatste keer dat het plan werd uitgevoerd.

van toepassing op: Azure SQL Database Hyperscale
min_page_server_reads grote Het minimale aantal externe paginaservers leest dat dit plan ooit is uitgevoerd tijdens één uitvoering.

van toepassing op: Azure SQL Database Hyperscale
max_page_server_reads grote Het maximum aantal externe paginaservers leest dat dit plan ooit is uitgevoerd tijdens één uitvoering.

van toepassing op: Azure SQL Database Hyperscale

Notitie

1 Voor systeemeigen gecompileerde opgeslagen procedures wanneer het verzamelen van statistieken is ingeschakeld, wordt de werktijd verzameld in milliseconden. Als de query in minder dan één milliseconde wordt uitgevoerd, wordt de waarde 0.

Machtigingen

SQL Server 2019 (15.x) en eerdere versies, en Azure SQL Managed Instance, vereisen VIEW SERVER STATE machtiging.

VOOR SQL Server 2022 (16.x) en latere versies is VIEW SERVER PERFORMANCE STATE machtiging op de server vereist.

In Azure SQL Database Basic, S0en S1 servicedoelstellingen, en voor databases in elastische pools, is het serverbeheerder--account, de Microsoft Entra-beheerder-account of lidmaatschap van de ##MS_ServerStateReader##-server functie vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader##-serverfunctie vereist.

Opmerkingen

Statistieken in de weergave worden bijgewerkt wanneer een query is voltooid.

Voorbeelden

Een. De TOP N-query's zoeken

In het volgende voorbeeld wordt informatie geretourneerd over de vijf belangrijkste query's, gerangschikt op gemiddelde CPU-tijd. In dit voorbeeld worden de query's samengevoegd op basis van hun query-hash, zodat logisch equivalente query's worden gegroepeerd op basis van het cumulatieve resourceverbruik. In de kolom Sample_Statement_Text ziet u een voorbeeld van de querystructuur die overeenkomt met de query-hash, maar deze moet worden gelezen zonder rekening te houden met specifieke waarden in de instructie. Als een instructie bijvoorbeeld WHERE Id = 5bevat, kunt u deze lezen in de algemenere vorm: WHERE Id = @some_value.

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 Sample_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;

B. Aggregaties voor het aantal rijen retourneren voor een query

In het volgende voorbeeld worden geaggregeerde gegevens over het aantal rijen (totaalrijen, minimumrijen, maximumrijen en laatste rijen) geretourneerd voor query's.

SELECT qs.execution_count,
    SUBSTRING(qt.text, qs.statement_start_offset / 2 + 1, (
            CASE 
                WHEN qs.statement_end_offset = - 1
                    THEN LEN(CONVERT(NVARCHAR(max), qt.text)) * 2
                ELSE qs.statement_end_offset
                END - qs.statement_start_offset
            ) / 2) AS query_text,
    qt.dbid,
    dbname = DB_NAME(qt.dbid),
    qt.objectid,
    qs.total_rows,
    qs.last_rows,
    qs.min_rows,
    qs.max_rows
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE qt.text LIKE '%SELECT%'
ORDER BY qs.execution_count DESC;