2010-04-27 50 views
9

在查看SQL Server Management Studio(SSMS)中的查詢的實際執行計劃時,如何確定Expr1052等表達式?如何在執行計劃中查找Expr ####

當我確定查詢的代價高昂的部分並查看該操作的屬性時,通常僅引用這些表達式或標量運算符。我希望能夠弄清楚它指的是我的查詢的哪一部分。

回答

12

SSMSExecution Plan窗口中,右鍵單擊首次計算表達式的操作,然後選擇Properties

您會在窗格右側看到表達式定義。

或者,你可以瀏覽XML計劃和搜索類似的條目:

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

哦,我看到,除了在我的情況下,它是不是在計算標量。我必須在樹中向後走,並查看先前操作的輸出列表。就像有一個引用Expr1052的索引假脫機程序,以及Stream Aggregate在其輸出列表中列出的兩個節點,Expr1052和Defined Values顯示了它是如何計算/派生的。 – AaronLS 2010-04-27 17:07:16