Как найти Expr #### в плане выполнения - PullRequest
12 голосов
/ 27 апреля 2010

При взгляде на фактический план выполнения запроса в SQL Server Management Studio (SSMS), как определить, что представляет собой выражение, такое как Expr1052?

Когда я идентифицирую дорогостоящие части запроса и смотрю на свойства этой операции, часто появляются ссылки только на эти выражения или скалярные операторы. Я хочу выяснить, на какую часть моего запроса он ссылается.

1 Ответ

14 голосов
/ 27 апреля 2010

В окне Execution Plan SSMS щелкните правой кнопкой мыши операцию, которая сначала вычисляет выражение, и выберите Properties.

Вы увидите определение выражения на панели справа.

Кроме того, вы можете просмотреть план XML и выполнить поиск по таким записям:

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