【发布时间】:2015-06-12 06:46:51
【问题描述】:
我正在 Microsoft SQL Server 中调整查询的性能,并且我设置了 SET STATISTICS TIME。
对于输出,我收到多个 SQL Server 解析和编译时间:消息:
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 2 ms.
SQL Server parse and compile time:
CPU time = 5985 ms, elapsed time = 5985 ms.
SQL Server parse and compile time:
CPU time = 5953 ms, elapsed time = 5965 ms.
SQL Server parse and compile time:
CPU time = 6172 ms, elapsed time = 6173 ms.
SQL Server parse and compile time:
CPU time = 6031 ms, elapsed time = 6073 ms.
SQL Server parse and compile time:
CPU time = 6000 ms, elapsed time = 6008 ms.
SQL Server parse and compile time:
CPU time = 5978 ms, elapsed time = 5978 ms.
SQL Server parse and compile time:
CPU time = 5969 ms, elapsed time = 5970 ms.
SQL Server parse and compile time:
CPU time = 5953 ms, elapsed time = 5966 ms.
(1 row(s) affected)
(1 row(s) affected)
SQL Server Execution Times:
CPU time = 9516 ms, elapsed time = 9544 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
有人认为这是由于子查询造成的,但我找不到任何证实这一点的东西。消息多于子查询。
我也不确定为什么我会得到 2 个(1 行受影响),因为只返回 1 个记录集和一行。
编辑:
此查询是一个 SELECT 语句,它使用多个子查询、一个窗口函数和一个偏移量获取。
【问题讨论】:
-
这是对具有触发器的表的更新/插入子句吗?
-
查看 SQL 会有所帮助.. 但我猜你不能...所以msdn.microsoft.com/en-us/library/ms190287.aspx 在单独的 SQL 服务器解析中显示每个 go 结果。行影响 Select 的结果。这是在一个包/程序中吗?
-
只有一个声明。没有 GO。
-
是否有一些嵌套查询之类的?
标签: sql-server tsql database-performance