SQL Server 的查询计划

Navicat

SQL Server 的查询计划

解释 选项卡显示如何运行语句的详细信息,并估计语句对资源的需求。

描述
StmtText 对于非 PLAN_ROW 类型的行,此列包含 Transact-SQL 语句的文本。对于 PLAN_ROW 类型的行,此列包含对操作的说明。此列包含物理运算符,也可以选择包含逻辑运算符。此列还可以跟一则由物理运算符决定的说明。
StmtId 当前批处理中的语句数。
NodeId 当前查询中的节点的 ID。
Parent 上级步骤的节点 ID。
PhysicalOp 节点的物理实现算法。仅限于 PLAN_ROWS 类型的行。
LogicalOp 此节点表示的关系代数运算符。仅限于 PLAN_ROWS 类型的行。
Argument

提供有关当前执行的操作的补充信息。此列的内容取决于物理运算符。

DefinedValues

包含一组以逗号分隔的此运算符所引入的值。这些值可以是出现在当前查询(例如,在 SELECT 列表或 WHERE 子句中)内的计算表达式,也可以是查询处理器为处理该查询引入的内部值。以后在该查询内的任何其他地方都可以引用这些定义的值。仅限于 PLAN_ROWS 类型的行。

EstimateRows

由此运算符生成的预计输出行数。仅限于 PLAN_ROWS 类型的行。

EstimateIO

此运算符的预计 I/O 开销*。仅限于 PLAN_ROWS 类型的行。

EstimateCPU

此运算符的预计 CPU 开销*。仅限于 PLAN_ROWS 类型的行。

AvgRowSize

通过此运算符传递的行的预计平均行大小(以字节为单位)。

TotalSubtreeCost

此操作和所有子操作的预计(累积)开销*。

OutputList

包含当前操作正在提取的列的列表,此列表以逗号分隔。

Warnings

包含一组以逗号分隔的与当前操作相关的警告信息。警告消息可能包含字符串 "NO STATS:()" 和一组列表。此警告信息表示查询优化器曾尝试根据此列的统计信息做出决策,但没有找到可用的统计信息。因此,查询优化器不得不进行推测,这可能已导致选择了低效的查询计划。

Type

节点类型。对于每个查询的上级节点,这是 Transact-SQL 语句类型(如 SELECT、INSERT、EXECUTE 等)。对于表示执行计划的子节点,这是 PLAN_ROW 类型。

Parallel

0 = 运算符没有以并行方式运行。
1 = 运算符正在以并行方式运行。

EstimateExecutions

当前查询运行期间,预计将执行此运算符的次数。

* 开销单位是基于内部时间度量,而不是时钟时间。它们用于确定某个计划与其他相计划相比的相对开销。