gpt4 book ai didi

sql-server - 统计时间中的多个解析和编译输出是什么意思?

转载 作者:行者123 更新时间:2023-12-04 00:43:03 25 4
gpt4 key购买 nike

我正在对 Microsoft SQL 服务器中的查询进行性能优化,并且设置了 SET STATISTICS TIME ON。

对于输出,我收到多个 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 语句的语法错误、将命令分解为组成部分以及生成内部执行树期间花费的时间。

编译时间 是从刚刚生成的执行树中编译缓存中的执行计划所花费的时间。

最后 执行时间 是编译计划执行期间花费的总时间。

如果您的过程/函数/脚本中有多个语句。 SQL Server 将不得不分别解析和编译它们,并将分别显示统计时间。因此有多个解析和编译统计信息。

关于sql-server - 统计时间中的多个解析和编译输出是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29495530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com