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

SQLServerのSTATISTICSTIMEとは何ですか?

    SQL Serverでは、SET STATISTICS TIMEを使用できます。 T-SQLステートメントの実行にかかる時間を表示するステートメント。

    具体的には、各ステートメントの解析、コンパイル、実行に必要なミリ秒数を返します。

    SET STATISTICS TIMEの場合 ONです 、ステートメントの時間統計が表示されます。 OFFの場合 、時間統計は表示されません。

    SET STATISTICS TIMEの設定 解析時ではなく、実行時または実行時に設定されます。

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

    SET STATISTICS TIME ON;
    GO
    
    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;
    GO

    結果:

    Commands completed successfully.
    +-------------+------------+--------------+
    | CityName    | State      | Population   |
    |-------------+------------+--------------|
    | New York    | New York   | 8175133      |
    | Los Angeles | California | 3792621      |
    | Chicago     | Illinois   | 2695598      |
    | Brooklyn    | New York   | 2565635      |
    | Queens      | New York   | 2272771      |
    | Houston     | Texas      | 2099451      |
    +-------------+------------+--------------+
    SQL Server parse and compile time: 
       CPU time = 4 ms, elapsed time = 6 ms.
    Commands completed successfully.

    GUIを使用していますか?

    SSMSやAzureDataStudioなどのGUIでクエリを実行している場合は、メッセージをクリックする必要がある場合があります 時間統計を表示するには、タブなどを使用します。

    AzureDataStudioで前のクエリを実行するとどうなりますか。

    結果は得られますが、STATISTICS TIMEがありません 情報。その情報を表示するには、メッセージをクリックする必要があります 。それが済んだら、関連情報を見ることができます。

    後続のクエリ

    ONに設定したら 、後続のクエリはすべてSTATISTICS TIMEを返します OFFに設定されるまでの情報 。

    これは、最初のクエリの直後にコマンドラインインターフェイスで実行した別のアドホッククエリです。

    SELECT COUNT(*) FROM Application.People;

    結果:

    +--------------------+
    | (No column name)   |
    |--------------------|
    | 1111               |
    +--------------------+
    SQL Server parse and compile time: 
       CPU time = 6 ms, elapsed time = 6 ms.

    すでにSTATISTICS TIMEを設定していました ONへ 以前は、したがって、再度実行する必要はありません。

    オフにする

    オフにするには、OFFに設定するだけです。 。

    SET STATISTICS TIME OFF;

    これで、T-SQLステートメントを実行すると、クエリで時間統計が取得されなくなりました。

    SELECT COUNT(*) FROM Application.People;

    結果:

    +--------------------+
    | (No column name)   |
    |--------------------|
    | 1111               |
    +--------------------+
    (1 row affected)

    1. TDSサーバー-Transact-SQL(T-SQL)ステートメントを使用してSQLServerでSalesforceデータを操作する

    2. MySQLリモートアクセス用のSSHトンネルを作成する

    3. SQLデータ操作言語

    4. グループ化された実行中のMAX(またはMIN)の維持