Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server-Leistung TOP IO-Abfrage -1

Hallo,

Wenn Sie von einem Kunden eine Beschwerde über Langsamkeit erhalten haben, müssen Sie die SQL Server-Instanz und die Datenbank überwachen, die eine Menge Ressourcen verbraucht.

Der SQL Server-DBA sollte die Datenbank jedes Mal überwachen, und wenn es viele SQLs gibt, die eine lange Ausführungszeit haben oder viele E/A-Ressourcen verbrauchen, sollte dies dem Entwickler und dem Entwickler gemeldet werden, und der DBA sollte diese SQLs untersuchen.

Sie können TOP IOqueries in der SQL Server-Datenbank mit der folgenden Abfrage finden.

   select 
       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,
          qs.total_logical_reads,
          qs.total_physical_reads,
          qs.execution_count
      from sys.dm_exec_query_stats as qs
   cross apply sys.dm_exec_sql_text(qs.sql_handle) as st 
order by qs.total_logical_reads desc, qs.execution_count desc

Das Abfrageergebnis wird wie im folgenden Screenshot aussehen