こんにちは、
お客様から速度低下の苦情を受けた場合は、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;