【问题标题】:How to find Expr#### in Execution Plan如何在执行计划中找到 Expr####
【发布时间】:2011-02-12 23:19:13
【问题描述】:

在 SQL Server Management Studio (SSMS) 中查看查询的实际执行计划时,如何确定 Expr1052 等表达式代表什么?

当我确定查询的昂贵部分并查看该操作的属性时,通常只引用这些表达式或标量运算符。我希望能够弄清楚它指的是我的查询的哪一部分。

【问题讨论】:

标签: sql sql-server sql-server-2005 performance tsql


【解决方案1】:

SSMSExecution Plan窗口中,右击最先计算表达式的运算,选择Properties

您将在右侧窗格中看到表达式定义。

或者,您可以浏览XML 计划并搜索这样的条目:

  <DefinedValues>
    <DefinedValue>
      <ColumnReference Column="Expr1018" />
      <ScalarOperator ScalarString="col1 + col2">
      </ScalarOperator>
    </DefinedValue>
    …
  </DefinedValues>

【讨论】:

  • 哦,我明白了,除了在我的情况下它不在计算标量中。我必须向后穿过树并查看输出列表以了解先前的操作。就像有一个引用 Expr1052 的索引假脱机,并且流聚合之前的两个节点已在其输出列表中列出 Expr1052,并且定义的值显示了它是如何计算/派生的。
【解决方案2】:

我发现这是更详细的答案:https://stackoverflow.com/a/49841492/235041 该值在属性表的“定义值”下

【讨论】:

    猜你喜欢
    • 2019-05-29
    • 2021-07-20
    • 2016-05-24
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    相关资源
    最近更新 更多