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

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

    こんにちは、

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

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

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

    SELECT TOP 50
        ObjectName          = OBJECT_SCHEMA_NAME(qt.objectid,dbid) + '.' + OBJECT_NAME(qt.objectid, qt.dbid)
        ,TextData           = qt.text
        ,DiskReads          = qs.total_physical_reads   -- The worst reads, disk reads
        ,MemoryReads        = qs.total_logical_reads    --Logical Reads are memory reads
        ,Executions         = qs.execution_count
        ,TotalCPUTime       = qs.total_worker_time
        ,AverageCPUTime     = qs.total_worker_time/qs.execution_count
        ,DiskWaitAndCPUTime = qs.total_elapsed_time
        ,MemoryWrites       = qs.max_logical_writes
        ,DateCached         = qs.creation_time
        ,DatabaseName       = DB_Name(qt.dbid)
        ,LastExecutionTime  = qs.last_execution_time
     FROM sys.dm_exec_query_stats AS qs
     CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
     ORDER BY qs.total_worker_time DESC;
    
    
    
    


    1. SQLServerのJSON

    2. Oracleのデータベースセキュリティ

    3. MySQL:MySQLルートパスワードをリセットまたは変更するにはどうすればよいですか?

    4. AVG()–MySQLの列の平均値を計算します