sql >> データベース >  >> RDS >> Sqlserver

SQLServerのSTATISTICSXMLとは何ですか?

    SQL Serverでは、SET STATISTICS XMLを使用できます。 T-SQLステートメントの実行方法に関する詳細情報を生成するステートメント。

    この情報は、整形式のXMLドキュメントの形式で提供されます。

    一度SET STATISTICS XML ONに設定されています 、後続の各ステートメントは、単一のXMLドキュメントによって出力に反映されます。

    各XMLドキュメントには、ステートメントのテキストと、それに続く実行ステップの詳細が含まれています。

    出力には、コスト、アクセスされたインデックス、実行された操作のタイプ、結合順序、物理操作が実行された回数、各物理オペレーターが生成した行数などの実行時情報が表示されます。

    これがデモンストレーションの簡単な例です。

    SET STATISTICS XML ON;
    
    SELECT 
        c.CityName, 
        s.StateProvinceName AS State, 
        c.LatestRecordedPopulation AS Population
    FROM Application.Cities c
    INNER JOIN Application.StateProvinces s
    ON c.StateProvinceID = s.StateProvinceID
    WHERE c.LatestRecordedPopulation > 2000000
    ORDER BY c.LatestRecordedPopulation DESC;

    結果:

    SSMSやAzureDataStudio(写真)などのグラフィカルツールを使用してこれを行うと、スクリーンショットのようなグラフィカルクエリプランが表示される可能性があります。

    この場合、さまざまなタブをクリックして、実際の結果やその他の統計データを確認できる可能性があります。

    結果をクリックするとどうなりますか タブ:

    この場合、実際の結果に加えて、XMLShowplanを含む別の行を確認できます。その行をクリックすると、新しいウィンドウでXMLドキュメントが開きます。

    トップオペレーションをクリックするとどうなりますか? タブ:

    オフにする方法

    STATISTICS XMLの設定 ONへ オフになるまで、後続のすべてのT-SQLステートメントに影響します。

    オフにするには、OFFを使用してもう一度実行します。 ONの代わりに :

    SET STATISTICS XML OFF;

    STATISTICS XML STATISTICS PROFILEを置き換えます

    Microsoftのドキュメントによると、SET STATISTICS XML SET STATISTICS PROFILEの代わりに使用する必要があります 。

    SETSTATISTICSPROFILEとSETSTATISTICSXMLは、相互に対応しています。前者はテキスト出力を生成します。後者はXML出力を生成します。 SQL Serverの将来のバージョンでは、新しいクエリ実行プラン情報は、SET STATISTICS PROFILEステートメントではなく、SETSTATISTICSXMLステートメントを介してのみ表示されます。

    STATISTICSXMLと実際の実行プランを含める

    実際の実行計画を含める場合 SSMSで選択されているSET STATISTICS XML XMLShowplan出力を生成しません。 実際の実行プランを含めるをクリアします SET STATISTICS XMLを使用する前のボタン 。


    1. SQL常時オン可用性グループ:コンピューターオブジェクト

    2. Apache Sparkに火をつける–パート2

    3. SearchOracle.comのADDM

    4. sqlalchemyを使用して、リクエストごとにデータベースエンジンに動的にバインドする方法