【发布时间】:2014-10-09 09:34:51
【问题描述】:
我有一个很长的 SQL 脚本,包括 1500 行代码,有人认为它很慢,希望我能在其中找到慢查询并调整它们。
我使用SET STATISTICS TIME ON打印出脚本中每个步骤的实际经过时间,发现其中一些退出速度很慢,例如:
/***********************************************/
CPU time = 0 ms, elapsed time = 1 ms.
(0 row(s) affected)
(1 row(s) affected)
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 1 ms.
(4 row(s) affected)
(1 row(s) affected)
SQL Server Execution Times:
CPU time = 15 ms, elapsed time = 10548 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 2 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 1 ms.
/***********************************************/
但问题是我无法确定哪个查询花费了这么长时间,因为脚本太长了。我怎么知道这个长脚本中的哪个查询花费了 10548 毫秒?
谢谢!
【问题讨论】:
-
我们假设您无权访问分析器
-
我可以用 profiler 来做吗?怎么样?
-
stackoverflow.com/questions/2499910/… 这有多个答案。如果你没有找到,通过互联网搜索会有大量的分析器用法
-
在调试模式下运行它并观察哪个需要更长的时间
标签: sql sql-server tsql