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

SQLServerのパフォーマンスTOPIOクエリ-2

    こんにちは、

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

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

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

    select 
        q.[text],
    SUBSTRING(q.text, (highest_cpu_queries.statement_start_offset/2)+1, 
            ((CASE highest_cpu_queries.statement_end_offset
              WHEN -1 THEN DATALENGTH(q.text)
             ELSE highest_cpu_queries.statement_end_offset
             END - highest_cpu_queries.statement_start_offset)/2) + 1) AS statement_text,    
        
        highest_cpu_queries.total_worker_time,
        highest_cpu_queries.total_logical_reads,
    	highest_cpu_queries.last_execution_time,
        highest_cpu_queries.execution_count,
        q.dbid,
        q.objectid,
        q.number,
        q.encrypted,
         highest_cpu_queries.plan_handle
    from 
        (select top 50 
              qs.last_execution_time,
              qs.execution_count,
            qs.plan_handle, 
            qs.total_worker_time,
            qs.statement_start_offset,
            qs.statement_end_offset,
            qs.total_logical_reads
        from 
            sys.dm_exec_query_stats qs
        order by qs.total_worker_time desc) as highest_cpu_queries
        cross apply sys.dm_exec_sql_text(plan_handle) as q
    order by highest_cpu_queries.total_logical_reads desc;


    1. PostgreSQLデータベースクラスターを使用して高可用性CanvasLMSをデプロイする方法

    2. t-sqlで「execute」を使用して値を変数に設定するにはどうすればよいですか?

    3. 意図しない副作用–ロックを保持している睡眠セッション

    4. Laravel-5'LIKE'相当(Eloquent)