当前位置:首页 > 开发 > 数据库 > 正文

SQLSERVER耗时最长的SQL

发表于: 2015-04-27   作者:357029540   来源:转载   浏览:
摘要: 对于DBA来说,经常要知道存储过程的某些信息: 1.   执行了多少次 2.   执行的执行计划如何 3.   执行的平均读写如何 4.   执行平均需要多少时间 列名          &
对于DBA来说,经常要知道存储过程的某些信息:

1.   执行了多少次

2.   执行的执行计划如何

3.   执行的平均读写如何

4.   执行平均需要多少时间

列名                                    数据类型                       说明

database_id                                  int                                      存储过程所在的数据库ID。

object_id                                      int                                       存储过程的对象标识号。

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                              varbinary(64)                    内存中计划的标识符。该标识符是瞬态的,仅当计划保留在缓存中时,它才保持不变。该值                                                                      可以与sys.dm_exec_cached_plans动态管理视图一起使用。

cached_time                            datetime                           存储过程添加到缓存的时间。

cached_time                            datetime                           存储过程添加到缓存的时间。

last_execution_time               datetime                            上次执行存储过程的时间。

execution_count                    bigint                                  存储过程自上次编译以来所执行的次数。

total_worker_time                 bigint                                   此存储过程自编译以来执行所用的CPU时间总量(微秒)。

last_worker_time                  bigint                                  上次执行存储过程所用的CPU时间(微秒)。

min_worker_time                  bigint                                   此存储过程在单次执行期间曾占用的最大CPU时间(微秒)。

max_worker_time                 bigint                                   此存储过程在单次执行期间曾占用的最大CPU时间(微秒)。

total_physical_reads             bigint                                  此存储过程自编译后在执行期间所执行的物理读取总次数。

last_physical_reads             bigint                                  上次执行存储过程时所执行的物理读取次数。

min_physical_reads             bigint                                 该存储过程在单次执行期间所执行的最少物理读取次数。

max_physical_reads             bigint                                  该存储过程在单次执行期间所执行的最大物理读取次数。

total_logical_writes              bigint                                  此存储过程自编译后在执行期间所执行的逻辑写入总次数。

last_logical_writes               bigint                                  上次执行存储过程时所执行的逻辑写入次数。

min_logical_writes               bigint                                   该存储过程在单次执行期间所执行的最少逻辑写入次数。

max_logical_writes               bigint                                  该存储过程在单次执行期间所执行的最大逻辑写入次数。

total_logical_reads              bigint                                  此存储过程自编译后在执行期间所执行的逻辑读取总次数。

last_logical_reads               bigint                                  上次执行存储过程时所执行的逻辑读取次数。

min_logical_reads              bigint                                   该存储过程在单次执行期间所执行的最少逻辑读取次数。

max_logical_reads              bigint                                   该存储过程在单次执行期间所执行的最大逻辑读取次数。

total_elapsed_time             bigint                                   完成此存储过程的执行所用的总时间(微秒)。

last_elapsed_time               bigint                                   最近完成此存储过程的执行所用的时间(微秒)。

min_elapsed_time              bigint                                  任意一次完成此存储过程的执行所用的最短时间(微秒)。

max_elapsed_time             bigint                                   任意一次完成此存储过程的执行所用的最长时间(微秒)。



下面语句返回前十句耗费时间最长的存储过程信息: 

SELECT TOP 10

        a.object_id ,

        a.database_id ,

        DB_NAME(ISNULL(a.database_id,''))'DatabaseName',

        OBJECT_NAME(object_id, database_id)'proc name' ,

        a.cached_time ,

        a.last_execution_time ,

        a.total_elapsed_time ,

        a.total_elapsed_time /a.execution_count AS [avg_elapsed_time] ,

        a.execution_count ,

        a.total_physical_reads /a.execution_count avg_physical_reads ,

        a.total_logical_writes ,

        a.total_logical_writes /a.execution_count avg_logical_reads ,

        a.last_elapsed_time ,

        a.total_elapsed_time / a.execution_countavg_elapsed_time ,

        b.text ,

        c.query_plan

FROM    sys.dm_exec_procedure_stats AS a

        CROSS APPLYsys.dm_exec_sql_text(a.sql_handle) b

        CROSS APPLYsys.dm_exec_query_plan(a.plan_handle) c

ORDERBY [total_worker_time] DESC ;

SQLSERVER耗时最长的SQL

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
直接上图: 天壤之别啊,这个设备的性能和他的价格一样高.......... 目前我们用它来Memory<->
题记 大家对Oracle数据库的SQL操作应该不陌生吧,也就是出于所谓的效率而言,使用SQL语句对ArcGIS对
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE
原文: SQL Server定时自动抓取耗时SQL并归档数据脚本分享 SQL Server定时自动抓取耗时SQL并归档数据
SqlServer开发利器—SQL Prompt5 智能提示 SQL Prompt5的智能提示比SqlServer自带的要好很多,而且
1. 智能提示 SQL Prompt的智能提示非常灵敏,相比于2008 R2自带的要好得多。在输入关键字时,即使你
sql server 备份数据库 1.维护计划向导: 右键维护计划-维护计划向导-然后安装提示: 勾选自己要干
智能提示 SQL Prompt5的智能提示比SqlServer自带的要好很多,而且可以设置让关键字自动大写,对于数
之前写过一个查询执行查看运行时间最长的应用,查询到的是,应用程序,例如我的程序,查到的是IIS,
初装sqlserver后一般只能通过windows身份认证的方法登陆管理 Microsoft SQL Server 2005 错误 18452
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号