Preskočiť na obsah
Skript

Najdrahšie stored procedures (plan cache)

Procedúry z plan cache podľa celkového CPU, s priemerným CPU a trvaním na jedno spustenie.

najdrahsie-stored-procedures-plan-cache.sql 17 riadkov · T-SQL
Parametre skriptu doplň a kopíruj hotový skript
/* DeadlockCafe | Najdrahšie stored procedures (plan cache)
   Účel:  Procedúry z plan cache podľa celkového CPU, s priemerným CPU a trvaním na jedno spustenie.
   Režim: READ ONLY | SQL Server 2016 – 2022, on-premises
*/
SET NOCOUNT ON;

SELECT TOP (30) DB_NAME(database_id) AS database_name,
       OBJECT_SCHEMA_NAME(object_id,database_id) AS schema_name,
       OBJECT_NAME(object_id,database_id) AS procedure_name,
       execution_count, cached_time, last_execution_time,
       CAST(total_worker_time/1000.0 AS decimal(18,1)) AS total_cpu_ms,
       CAST(total_worker_time/1000.0/NULLIF(execution_count,0) AS decimal(18,2)) AS avg_cpu_ms,
       CAST(total_elapsed_time/1000.0/NULLIF(execution_count,0) AS decimal(18,2)) AS avg_elapsed_ms,
       total_logical_reads
FROM sys.dm_exec_procedure_stats
ORDER BY total_worker_time DESC;
## Kedy použiť

Keď vieš, že úzke hrdlo je v procedúrach, alebo po release konkrétnej aplikácie.

## Ako čítať výsledok

`total_cpu_ms` ukazuje celkovú záťaž, `avg_cpu_ms` a `avg_elapsed_ms` cenu jedného volania. Často volaná lacná procedúra môže byť drahšia než zriedkavá ťažká.

> [!WARNING]
> Nie všetok T-SQL beží v procedúrach (ad-hoc, ORM). Údaje sa strácajú pri recompile alebo vyhodení plánu z cache.

**Oprávnenia:** `VIEW SERVER STATE` (na SQL Server 2022 stačí aj `VIEW SERVER PERFORMANCE STATE`).  
**Režim:** READ ONLY · **Verzia:** SQL Server 2016 – 2022

## Súvisiace recepty

- [Top 20 dotazov podľa CPU](script.php?id=5&s=top-20-dotazov-podla-cpu)