对于DBA来说,经常要手机存储过程的某些信息:
执行了多少次
执行的执行计划如何
执行的平均读写如何
执行平均需要多少时间
列名
数据类型
说明
database_id
int
存储过程所在的数据库 ID。
object_id
存储过程的对象标识号。
type
char(2)
对象的类型:
P = SQL 存储过程
PC = 程序集 (CLR) 存储过程
X = 扩展存储过程
type_desc
nvarchar(60)
对对象类型的说明:
SQL_STORED_PROCEDURE
CLR_STORED_PROCEDURE
EXTENDED_STORED_PROCEDURE
sql_handle
varbinary(64)
可用于与 sys.dm_exec_query_stats 中从此存储过程中执行的查询关联。
plan_handle
内存中计划的标识符。该标识符是瞬态的,仅当计划保留在缓存中时,它才保持不变。该值可以与 sys.dm_exec_cached_plans 动态管理视图一起使用。
cached_time
datetime
存储过程添加到缓存的时间。
last_execution_time
上次执行存储过程的时间。
execution_count
bigint
存储过程自上次编译以来所执行的次数。
total_worker_time
此存储过程自编译以来执行所用的 CPU 时间总量(微秒)。
last_worker_time
上次执行存储过程所用的 CPU 时间(微秒)。
min_worker_time
此存储过程在单次执行期间曾占用的最大 CPU 时间(微秒)。
max_worker_time
total_physical_reads
此存储过程自编译后在执行期间所执行的物理读取总次数。
last_physical_reads
上次执行存储过程时所执行的物理读取次数。
min_physical_reads
该存储过程在单次执行期间所执行的最少物理读取次数。
max_physical_reads
该存储过程在单次执行期间所执行的最大物理读取次数。
total_logical_writes
此存储过程自编译后在执行期间所执行的逻辑写入总次数。
last_logical_writes
上次执行存储过程时所执行的逻辑写入次数。
min_logical_writes
该存储过程在单次执行期间所执行的最少逻辑写入次数。
max_logical_writes
该存储过程在单次执行期间所执行的最大逻辑写入次数。
total_logical_reads
此存储过程自编译后在执行期间所执行的逻辑读取总次数。
last_logical_reads
上次执行存储过程时所执行的逻辑读取次数。
min_logical_reads
该存储过程在单次执行期间所执行的最少逻辑读取次数。
max_logical_reads
该存储过程在单次执行期间所执行的最大逻辑读取次数。
total_elapsed_time
完成此存储过程的执行所用的总时间(微秒)。
last_elapsed_time
最近完成此存储过程的执行所用的时间(微秒)。
min_elapsed_time
任意一次完成此存储过程的执行所用的最短时间(微秒)。
max_elapsed_time
任意一次完成此存储过程的执行所用的最长时间(微秒)。
下面语句返回前十句耗费时间最长的存储过程信息: