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

SQLServerのSTATISTICSIOとは何ですか?

    SQL Serverでは、SET STATISTICS IOを使用できます T-SQLステートメントによって生成されたディスクアクティビティの量に関する詳細情報を生成するステートメント。

    SSMSやAzureDataStudioなどのグラフィカルツールでは、この情報をメッセージで表示できます。 タブ。

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

    SET STATISTICS IO 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;

    最初は、通常どおりクエリ結果が表示される可能性があります。

    STATISTICS IOの出力を表示するには 、メッセージをクリックします タブ:

    この例はAzureDataStudioで行われ、SSMSを使用する場合と同じプロセスです。ただし、使用する必要のある実際の手順は、SQLServerへの接続に使用するツールによって異なる場合があります。

    以下は、STATISTICS IOのコピーです。 上のスクリーンショットからのメッセージ:

    (6 rows affected)
    Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
    Table 'Workfile'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
    Table 'StateProvinces'. Scan count 1, logical reads 2, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
    Table 'Cities'. Scan count 1, logical reads 497, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
    Total execution time: 00:00:00.027

    オフにする方法

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

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

    SET STATISTICS IO OFF;

    1. MSSQL CTEクエリをMySQLに変換する方法は?

    2. MySQLGroupByおよびOrde​​rBy

    3. データベースのサブセット化–IRIVoracityでの方法

    4. MYSQLは、LOADDATAINFILEを使用してcsvからデータをインポートします