在一个用于统计一个查询语句所耗费的CPU时间以及相应语句和其他统计值的例子里,经常会看到以下这么一个例子,但是我对其中statement_start_offset/2不是很明白。
SELECT TOP 10 execution_count [Number of Executions],
total_worker_time/execution_count AS [Average CPU Time],
Total_Elapsed_Time/execution_count as [Average Elapsed Time],
(SELECT SUBSTRING(text,statement_start_offset/2,
(CASE WHEN statement_end_offset = -1 then
LEN(CONVERT(nvarchar(max), text)) * 2
ELSE statement_end_offset
end -statement_start_offset)/2)FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [Average CPU Time] DESC请高手帮忙解释一下:statement_start_offset/2(或者网上查询的statement_start_offset/2+1的用法 )不太明白为什么这里statement_start_offset需要除2
SELECT TOP 10 execution_count [Number of Executions],
total_worker_time/execution_count AS [Average CPU Time],
Total_Elapsed_Time/execution_count as [Average Elapsed Time],
(SELECT SUBSTRING(text,statement_start_offset/2,
(CASE WHEN statement_end_offset = -1 then
LEN(CONVERT(nvarchar(max), text)) * 2
ELSE statement_end_offset
end -statement_start_offset)/2)FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [Average CPU Time] DESC请高手帮忙解释一下:statement_start_offset/2(或者网上查询的statement_start_offset/2+1的用法 )不太明白为什么这里statement_start_offset需要除2
http://www.onegreen.net/Article/Database/SQLServer/SQLServer7/14991_5.html