亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關軟件
    >SET SHOWPLAN_ALL 創(chuàng)建者:webmaster 更新時間:2006-02-16 15:51

    使 Microsoft® SQL Server™ 不執(zhí)行 Transact-SQL 語句。相反,SQL Server 返回有關語句執(zhí)行方式和語句預計所需資源的詳細信息。



    語法


    SET SHOWPLAN_ALL { ON | OFF }



    注釋


    SET SHOWPLAN_ALL 的設置是在執(zhí)行或運行時設置,而不是在分析時設置。



    當 SET SHOWPLAN_ALL 為 ON 時,SQL Server 返回每個語句的執(zhí)行信息但不執(zhí)行語句,而且 Transact-SQL 語句將不執(zhí)行。將該選項設置為 ON 后,將返回有關所有后續(xù) Transact-SQL 語句的信息,直到將該選項設置為 OFF 為止。例如,如果在 SET SHOWPLAN_ALL 為 ON 時執(zhí)行 CREATE TABLE 語句,則 SQL Server 從涉及同一個表的后續(xù) SELECT 語句返回錯誤信息;指定的表不存在。因此,對該表的后續(xù)引用將失敗。當 SET SHOWPLAN_ALL 為 OFF 時,SQL Server 執(zhí)行語句但不生成報表。



    SET SHOWPLAN_ALL 是供為處理其輸出而編寫的應用程序使用的。使用 SET SHOWPLAN_TEXT 返回可由 Microsoft MS-DOS® 應用程序(如 osql 實用工具)讀取的輸出。



    在存儲過程內不能指定 SET SHOWPLAN_TEXT 和 SET SHOWPLAN_ALL,它們必須是批處理中的語句。



    SET SHOWPLAN_ALL 將信息作為行集返回,行集形成一個層次結構樹,用以表示 SQL Server 查詢處理器在執(zhí)行每個語句時所采取的步驟。輸出中反映的每個語句都包含一個含有語句文本的行,后面跟有幾個含有執(zhí)行步驟詳細信息的行。下表顯示輸出中包含的列。



































































































    列名描述
    StmtText對于不是 PLAN_ROW 類型的行,該列包含 Transact-SQL 語句的文本。對于 PLAN_ROW 類型的行,該列包含對操作的描述。該列包含物理運算符,也可以選擇包含邏輯運算符。該列還可以跟有由物理運算符決定的描述。有關更多信息,請參見邏輯運算符和物理運算符。
    StmtId當前批處理中的語句數(shù)。
    NodeId當前查詢內的節(jié)點 ID。
    Parent上一級步驟的節(jié)點 ID。
    PhysicalOp節(jié)點的物理實現(xiàn)算法。僅限于 PLAN_ROWS 類型的行。
    LogicalOp該節(jié)點表示的關系代數(shù)運算符。僅限于 PLAN_ROWS 類型的行。
    Argument提供有關所執(zhí)行操作的輔助信息。該列的內容取決于物理運算符。
    DefinedValues包含該運算符所引入值的用逗號分隔的列表。這些值可以是出現(xiàn)在當前查詢(例如,在 SELECT 列表或 WHERE 子句中)內的計算表達式,或者是由查詢處理器為處理該查詢而引入的內部值。以后在該查詢內的任何其它地方都可以引用這些定義的值。僅限于 PLAN_ROWS 類型的行。
    EstimateRows由該運算符輸出的預計行數(shù)。僅限于 PLAN_ROWS 類型的行。
    EstimateIO該運算符的預計 I/O 成本。僅限于 PLAN_ROWS 類型的行。
    EstimateCPU該運算符的預計 CPU 成本。僅限于 PLAN_ROWS 類型的行。
    AvgRowSize正通過該運算符傳遞的行的預計平均行大?。ㄒ宰止?jié)為單位)。
    TotalSubtreeCost該操作和所有下一級操作的預計(累積)成本。
    OutputList包含當前操作所計劃的列的用逗號分隔的列表。
    Warnings包含與當前操作相關的警告信息的用逗號分隔的列表。警告信息可以在列的列表中包含字符串"NO STATS:()"。該警告信息表示查詢優(yōu)化器曾嘗試根據(jù)該列的統(tǒng)計做決策,但沒有可用的統(tǒng)計。因此,查詢優(yōu)化器不得不進行推測,這可能已導致選擇低效的查詢計劃。有關創(chuàng)建或更新列統(tǒng)計(這些統(tǒng)計有助于查詢優(yōu)化器選擇更高效的查詢計劃)的更多信息,請參見 UPDATE STATISTICS。該列可以選擇包含字符串"MISSING JOIN PREDICATE",這表示正在進行的聯(lián)接(與表有關)未使用聯(lián)接謂詞。意外地除去聯(lián)接謂詞可能導致查詢的時間比預期長得多,并返回巨大的結果集。如果出現(xiàn)該警告,請驗證是否有意除去了聯(lián)接謂詞。
    Type節(jié)點類型。對于每個查詢的父節(jié)點,這是 Transact-SQL 語句類型(如 SELECT、INSERT、EXECUTE 等)。對于表示執(zhí)行計劃的子節(jié)點,這是 PLAN_ROW 類型。
    Parallel0 = 運算符沒有以并行方式運行。

    1 = 運算符正在以并行方式運行。
    EstimateExecutions該運算符預計在當前查詢運行期間將執(zhí)行的次數(shù)。



    權限


    SET SHOWPLAN_ALL 權限默認授予所有用戶。



    示例


    下面兩個語句使用 SET SHOWPLAN_ALL 設置,顯示 SQL Server 在查詢內對索引的使用進行分析和優(yōu)化的方法。



    第一個查詢在索引列上的 WHERE 子句中使用等于比較運算符 (=)。這在 LogicalOp 列內產生聚集索引查找值,在 Argument 列內產生索引名。



    第二個查詢在 WHERE 子句中使用 LIKE 運算符。這將強制 SQL Server 使用聚集索引掃描并查找滿足 WHERE 子句條件的數(shù)據(jù)。這在含有 Argument 列內索引名的 LogicalOp 列內產生聚集索引掃描值,在含有 Argument 列內 WHERE 子句條件的 LogicalOp 列內產生篩選值。



    EstimateRowsTotalSubtreeCost 列內用于第一個基于索引的查詢的值較小,這表示與非索引查詢相比,該查詢的處理速度快得多且使用更少的資源。



    USE pubs
    GO
    SET SHOWPLAN_ALL ON
    GO
    -- First query.
    SELECT au_id
    FROM authors
    WHERE au_id = '409-56-7008'
    GO
    -- Second query.
    SELECT city
    FROM authors
    WHERE city LIKE 'San%'
    GO
    SET SHOWPLAN_ALL OFF
    GO
    相關文章
    本頁查看次數(shù):