sql >> Database >  >> RDS >> Sqlserver

SQL Server-prestaties TOP CPU-query -1

Hallo,

Als u een traagheidsklacht van een klant heeft gekregen, moet u de SQL Server-instantie en database controleren welke sql veel bronnen gebruikt.

SQL Server DBA moet de database elke keer controleren en als er veel sqls zijn die een lange uitvoeringstijd hebben of veel CPU-bronnen verbruiken, moet dit worden gerapporteerd aan de ontwikkelaar en ontwikkelaar en moet dba deze sqls onderzoeken.

U kunt TOP CPU-query's vinden in de SQL Server-database met de volgende query.

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

Het resultaat van de zoekopdracht zal zijn als het volgende screenshot


  1. Een lijst met beschikbare verzamelingen retourneren in PostgreSQL

  2. Hoe DAYOFWEEK() werkt in MariaDB

  3. PostgreSQL versus MySQL

  4. Oracle Sequence genereert geen doorlopend nummer