一个不错的ms sql server执行计划

  从http://www.cnblogs.com/zping/archive/2008/07/15/1243367.html中看到,真的不错哦

就是在测量功能时,先以下命令清除sql server的缓存:

dbcc  freeProcCache

 

在点击某个按钮,执行完后,在执行下面语句,就可以知道系统运行什么sql和多少次,其主要慢的语句是那些了。   

 

 

SELECT   creation_time  N ' 语句编译时间 '
        ,last_execution_time  N
' 上次执行时间 '
        ,total_physical_reads N
' 物理读取总次数 '
        ,total_logical_reads
/ execution_count N ' 每次逻辑读次数 '
        ,total_logical_reads  N
' 逻辑读取总次数 '
        ,total_logical_writes N
' 逻辑写入总次数 '
        , execution_count  N
' 执行次数 '
        , total_worker_time
/ 1000  N ' 所用的CPU总时间ms '
        , total_elapsed_time
/ 1000   N ' 总花费时间ms '
        , (total_elapsed_time 
/  execution_count) / 1000   N ' 平均时间ms '
        ,
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 ) N ' 执行语句 '
FROM  sys.dm_exec_query_stats  AS  qs
CROSS  APPLY sys.dm_exec_sql_text(qs.sql_handle) st
where   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 not   like   ' %fetch% '
ORDER   BY   total_elapsed_time  /  execution_count  DESC ;
posted on 2008-09-11 17:40 jackyrong的世界 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/jackyrong/archive/2008/09/11/1289364.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值