您的位置:首页 > 数据库

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

2008-09-11 17:05 471 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐