(转)数据库常规性能检查

查看数据库基本运行信息时 : CPU IO Recompile Select 都是我们要查看的要点。可以利用一下语句进行查看


--CPU

  1. SELECT TOP  10  
  2.     total_worker_time AS TotalTime,  
  3.     total_worker_time/execution_count AS avg_cpu_cost,  
  4.     plan_handle,  
  5.     execution_count,  
  6.     (SELECT SUBSTRING(text,statement_start_offset/2 + 1,  
  7.     (CASE WHEN statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX),text))*2  
  8.     ELSE statement_end_offset END - statement_start_offset)/2)  
  9.     FROM sys.dm_exec_sql_text(sql_handle))AS query_text  
  10. FROM sys.dm_exec_query_stats  
  11. ORDER BY [avg_cpu_cost] DESC  

--IO
  1. SELECT TOP 10  
  2.     (total_logical_reads/execution_count) AS avg_logical_reads,  
  3.     (total_logical_writes/execution_count) AS avg_logical_writes,  
  4.     (total_physical_reads/execution_count) AS avg_phys_reads,  
  5.     execution_count,  
  6.     (SELECT SUBSTRING(text,statement_start_offset/2 + 1,  
  7.     (CASE WHEN statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX),text))*2  
  8.     ELSE statement_end_offset END - statement_start_offset)/2)  
  9.     FROM sys.dm_exec_sql_text(sql_handle))AS query_text  
  10. FROM sys.dm_exec_query_stats  
  11. ORDER BY (total_logical_reads+total_logical_writes) DESC  

--Recompile
  1. SELECT TOP 10  
  2.     plan_generation_num,execution_count,  
  3.     (SELECT SUBSTRING(text,statement_start_offset/2 + 1,  
  4.     (CASE WHEN statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX),text))*2  
  5.     ELSE statement_end_offset END - statement_start_offset)/2)  
  6.     FROM sys.dm_exec_sql_text(sql_handle))AS query_text  
  7. FROM sys.dm_exec_query_stats  
  8. WHERE plan_generation_num >1  
  9. ORDER BY plan_generation_num DESC   

--Select
  1. SELECT TOP  10  
  2.     total_worker_time/execution_count AS avg_cpu_cost,plan_handle,  
  3.     execution_count,  
  4.     (SELECT SUBSTRING(text,statement_start_offset/2 + 1,  
  5.     (CASE WHEN statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX),text))*2  
  6.     ELSE statement_end_offset END - statement_start_offset)/2)  
  7.     FROM sys.dm_exec_sql_text(sql_handle))AS query_text  
  8. FROM sys.dm_exec_query_stats  
  9. ORDER BY execution_count DESC 

猜你喜欢

转载自blog.csdn.net/huhuapop/article/details/17415391