| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 664 人关注过本帖
标题:关于数据库dmv的问题
只看楼主 加入收藏
上帝之允
Rank: 1
等 级:新手上路
帖 子:67
专家分:5
注 册:2010-10-11
结帖率:73.68%
收藏
已结贴  问题点数:10 回复次数:3 
关于数据库dmv的问题
SELECT TOP 5 total_worker_time/execution_count AS [Avg CPU Time],
    SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
        ((CASE qs.statement_end_offset
          WHEN -1 THEN DATALENGTH(st.text)
         ELSE qs.statement_end_offset
         END - qs.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY total_worker_time/execution_count DESC;
选择占用cpu最多的前5位查询
中substring中是什么意思,有些理解不了
谢谢
2010-10-27 19:53
png
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:126
专家分:880
注 册:2010-10-6
收藏
得分:6 
跟这段对比一下运行结果会有帮助吗?

SELECT TOP 5 total_worker_time/execution_count AS [Avg CPU Time],
    st.text,
    qs.statement_start_offset,
    qs.statement_end_offset
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY total_worker_time/execution_count DESC
2010-10-28 06:07
上帝之允
Rank: 1
等 级:新手上路
帖 子:67
专家分:5
注 册:2010-10-11
收藏
得分:0 
就是substring中的无法理解好像,怎么这么麻烦,还是不太懂
2010-10-28 12:45
png
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:126
专家分:880
注 册:2010-10-6
收藏
得分:4 
举个例子 substring ('abcdefghij', 4, 3) 得出 'def'

原语举中的 st.text 相当于 'abcdefghij'
原语举中的 (qs.statement_start_offset/2)+1 相当于 4
原语举中的         ((CASE qs.statement_end_offset
                      WHEN -1 THEN DATALENGTH(st.text)
                      ELSE qs.statement_end_offset
                      END - qs.statement_start_offset)/2) + 1
相当于 3

2010-10-29 05:40
快速回复:关于数据库dmv的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016351 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved