0
点赞
收藏
分享

微信扫一扫

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


​​中看到,真的不错哦

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



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

dbcc

 freeProcCache

 

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

 

 



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

SELECT   creation_time  N

' 语句编译时间 '

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

        ,last_execution_time  N '

上次执行时间 '

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

        ,total_physical_reads N '

物理读取总次数 '

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

        ,total_logical_reads /

execution_count N ' 每次逻辑读次数 '

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

        ,total_logical_reads  N '

逻辑读取总次数 '

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

        ,total_logical_writes N '

逻辑写入总次数 '

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

        , execution_count  N '

执行次数 '

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

        , total_worker_time /

1000  N ' 所用的CPU总时间ms '

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

        , total_elapsed_time /

1000   N ' 总花费时间ms '

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

        , (total_elapsed_time  /

 execution_count) / 1000   N ' 平均时间ms '

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

        , SUBSTRING

(st. text , (qs.statement_start_offset / 2 )  +   1 ,

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

         (( CASE

 statement_end_offset 

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

           WHEN

  - 1   THEN   DATALENGTH (st. text )

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

           ELSE

 qs.statement_end_offset  END  

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

             -

 qs.statement_start_offset) / 2 )  +   1 ) N ' 执行语句 '

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

FROM  sys.dm_exec_query_stats  AS  qs

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

CROSS  APPLY sys.dm_exec_sql_text(qs.sql_handle) st

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

where   SUBSTRING (st. text , (qs.statement_start_offset / 2 )  +   1 ,

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

         (( CASE

 statement_end_offset 

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

           WHEN

  - 1   THEN   DATALENGTH (st. text )

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

           ELSE

 qs.statement_end_offset  END  

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

             -

 qs.statement_start_offset) / 2 )  +   1 )  not   like   ' %fetch% '

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

ORDER   BY   total_elapsed_time  /  execution_count  DESC ;

举报

相关推荐

0 条评论