回答
在SQL 2005中,您可以使用管理视图来查找slow running queries。我不久前在SQL server performance上发现的一个很好的脚本将帮助您开始;它列出了性能最慢的数据。
SELECT creation_time
,last_execution_time
,total_physical_reads
,total_logical_reads
,total_logical_writes
, execution_count
, total_worker_time
, total_elapsed_time
, total_elapsed_time/execution_count avg_elapsed_time
,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) AS statement_text
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
ORDER BY total_elapsed_time/execution_count DESC;
你知道时间的度量单位:total_worker_time,total_elapsed_time和avg_elapsed_time吗? – 2009-05-04 14:18:45
时间以微秒为单位; MSDN在管理视图上有很好的细分http://msdn.microsoft.com/en-us/library/ms189741.aspx – u07ch 2009-05-04 14:37:42
持续时间栏为我做了,但有时我也看看读取和写入列。
我使用TSQL:StmtCompleted过滤器来获取原始查询。您可能希望将其他存储过程添加到其中,但tsql是您需要查看的“基础”。由于MSDN article说
“存储过程 的执行可以由SP进行监控:开始, SP:StmtStarting,SP:StmtCompleted事件,并 SP:Completed事件类和所有 TSQL事件类“。
在我使用profiler之前,我检查了内置的使用情况报告。右键单击数据库,Reports,Standard Reports,然后是Object Execution Statistics。
它列出了当前缓存的执行计划以及资源数量和运行次数。这通常给出了一个关于什么使服务器保持繁忙的非常好的想法。
- 1. 如何找到真正慢的查询?
- 2. 慢查询EXISTS子查询
- 3. 缓慢的SQL查询最大化CPU
- 4. 查找表的最佳匹配查询
- 5. 慢Group_concat查询
- 6. 慢LINQ查询()
- 7. 慢查询
- 8. 与慢查询
- 9. 慢跑查询
- 10. 查询更慢
- 11. 使查询变慢的子查询
- 12. 如何在数据库中查找最新的Sybase ASE查询?
- 13. 如何在SQL Server 2008中查找性能最差的查询?
- 14. 如何查询SQLite中的行并查找最低值?
- 15. 如何登录并查找最昂贵的查询?
- 16. 如何加快我的查询速度。子查询太慢
- 17. SQL查询查找最高分
- 18. 如何通过用户名查找最后10个oracle查询?
- 19. SQL查询Where子句减慢查询
- 20. 慢查询长查询响应时间
- 21. 查询多个子查询太慢
- 22. 内部查询比全子查询慢
- 23. 查询视图比查询慢吗?
- 24. mysql查询查询速度缓慢
- 25. MySQL查询与子查询慢
- 26. 慢MySQL查询JOIN
- 27. mysql loggin慢查询
- 28. MySQL缓慢查询
- 29. 调慢SQL查询
- 30. OrientDB查询太慢
定义“慢”。尽管查询速度可能很慢,但这只与所做的呼叫次数以及是否为关键性有关。 – Lucero 2009-05-04 13:59:56