数据库

SQL SERVER数据库重建索引的方法

2022-10-14  本文已影响0人  大龙10
参考:https://www.jb51.net/article/51904.htm

Sql Server查询缓慢的原因有很多,比如服务器资源不足、网络故障、查询语句不够优化,I/O问题等等,以及数据库索引问题

一、查询思路

SELECT creation_time N'语句编译时间'
  ,last_execution_time N'上次执行时间'
  ,total_physical_reads N'物理读取总次数'
  ,total_logical_reads/execution_count N'每次逻辑读次数'
  ,total_logical_reads N'逻辑读取总次数'
  ,total_logical_writes N'逻辑写入总次数'
  , execution_count N'执行次数'
  , total_worker_time/1000 N'所用的CPU总时间ms'
  , total_elapsed_time/1000 N'总花费时间ms'
  , (total_elapsed_time / execution_count)/1000 N'平均时间ms'
  ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
  ((CASE statement_end_offset
  WHEN -1 THEN DATALENGTH(st.text)
  ELSE qs.statement_end_offsetEND
  - qs.statement_start_offset)/2) + 1) N'执行语句'
  FROM sys.dm_exec_query_stats AS qs
  CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
  where SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
  ((CASE statement_end_offset
  WHEN -1 THEN DATALENGTH(st.text)
  ELSE qs.statement_end_offsetEND
  - qs.statement_start_offset)/2) + 1) not like'%fetch%'
  ORDER BY total_elapsed_time / execution_count DESC;
上一篇下一篇

猜你喜欢

热点阅读