Sql server 2005 SQL Server评测我应该如何进行?
所以我以前使用过,我知道如何查看我的LINQ查询在幕后做了什么。现在,我们正在识别可能需要更多时间和需要优化或进行一些索引的查询 所以,现在当我在并行运行的探查器中查看我的LINQ查询时,有很多其他数据和查询我并不关心。无论如何,探查器或其他工具是否可以按最长时间的顺序对查询进行排序……这样我就可以对其进行优化了。我想运行我的应用程序,然后在分析器中以某种方式查看最糟糕的查询Sql server 2005 SQL Server评测我应该如何进行?,sql-server-2005,profiling,Sql Server 2005,Profiling,所以我以前使用过,我知道如何查看我的LINQ查询在幕后做了什么。现在,我们正在识别可能需要更多时间和需要优化或进行一些索引的查询 所以,现在当我在并行运行的探查器中查看我的LINQ查询时,有很多其他数据和查询我并不关心。无论如何,探查器或其他工具是否可以按最长时间的顺序对查询进行排序……这样我就可以对其进行优化了。我想运行我的应用程序,然后在分析器中以某种方式查看最糟糕的查询 任何人都可以指导或指导我做一些更有用的事情,尝试使用SQLServer2005进行分析。此外,欢迎您提供任何关于进行评测
任何人都可以指导或指导我做一些更有用的事情,尝试使用SQLServer2005进行分析。此外,欢迎您提供任何关于进行评测的想法、建议或最佳方式。谢谢。您可以在启动探查器时更改跟踪属性。选择事件选择选项卡并单击列过滤器按钮。在“编辑过滤器”对话框中,选择“持续时间”。然后单击大于或等于并输入一个值。该值以毫秒为单位,因此如果要查看持续时间超过5秒的查询,请输入5000
您也可以在此处查看其他筛选器,并根据需要配置持续时间值。这里是一个DMV查询,它将列出有关CPU时间的一些详细信息。一旦确定了查询,请在启用“包含实际执行计划”(Include Actual Execution Plan)的情况下运行它,以查看查询流以及可能需要索引的位置
select
highest_cpu_queries.plan_handle,
highest_cpu_queries.total_worker_time,
q.[text]
from
(select top 50
qs.plan_handle,
qs.total_worker_time
from
sys.dm_exec_query_stats qs
order by qs.total_worker_time desc) as highest_cpu_queries
cross apply sys.dm_exec_sql_text(plan_handle) as q
order by highest_cpu_queries.total_worker_time desc
下面是一个查找性能问题的好方法。要查看最差查询的“快速脏”列表,您可以使用以下内容:
SELECT TOP 10
total_worker_time/execution_count AS Avg_CPU_Time
,execution_count
,total_elapsed_time/execution_count as AVG_Run_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 3 DESC
见: