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

SQLServerのパフォーマンスTOPCPUクエリ-1

    こんにちは、

    お客様から速度低下の苦情を受けた場合は、SQLServerインスタンスとデータベースを監視する必要があります。SQLは多くのリソースを消費しています。

    SQL Server DBAは毎回データベースを監視する必要があり、実行時間が長い、またはCPUリソースを大量に消費するSQLが多数ある場合は、開発者と開発者に報告し、dbaはこれらのSQLを調べる必要があります。

    次のクエリを使用して、SQLServerデータベースでTOPCPUクエリを見つけることができます。

    select top 50
    query_stats.query_hash,
    SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) as avgCPU_USAGE,
    min(query_stats.statement_text) as QUERY
    from (
    select qs.*,
    SUBSTRING(st.text,(qs.statement_start_offset/2)+1,
    ((case statement_end_offset
    when -1 then DATALENGTH(st.text)
    else qs.statement_end_offset end
    - qs.statement_start_offset)/2) +1) as statement_text
    from sys.dm_exec_query_stats as qs
    cross apply sys.dm_exec_sql_text(qs.sql_handle) as st 
    ) as query_stats
    group by query_stats.query_hash
    order by 2 desc

    クエリ結果は次のスクリーンショットのようになります


    1. string_agg()からの結果をソートする方法

    2. 「読み取り専用」データベースを縮小できない| AlwaysOn可用性グループの使用中にトランザクションログを縮小する

    3. PostgreSQLで日付をユリウス日に変換する

    4. ReadyCloud ReadyShipper X