Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 SQL Server评测我应该如何进行?_Sql Server 2005_Profiling - Fatal编程技术网

Sql server 2005 SQL Server评测我应该如何进行?

Sql server 2005 SQL Server评测我应该如何进行?,sql-server-2005,profiling,Sql Server 2005,Profiling,所以我以前使用过,我知道如何查看我的LINQ查询在幕后做了什么。现在,我们正在识别可能需要更多时间和需要优化或进行一些索引的查询 所以,现在当我在并行运行的探查器中查看我的LINQ查询时,有很多其他数据和查询我并不关心。无论如何,探查器或其他工具是否可以按最长时间的顺序对查询进行排序……这样我就可以对其进行优化了。我想运行我的应用程序,然后在分析器中以某种方式查看最糟糕的查询 任何人都可以指导或指导我做一些更有用的事情,尝试使用SQLServer2005进行分析。此外,欢迎您提供任何关于进行评测

所以我以前使用过,我知道如何查看我的LINQ查询在幕后做了什么。现在,我们正在识别可能需要更多时间和需要优化或进行一些索引的查询

所以,现在当我在并行运行的探查器中查看我的LINQ查询时,有很多其他数据和查询我并不关心。无论如何,探查器或其他工具是否可以按最长时间的顺序对查询进行排序……这样我就可以对其进行优化了。我想运行我的应用程序,然后在分析器中以某种方式查看最糟糕的查询


任何人都可以指导或指导我做一些更有用的事情,尝试使用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
见: