SQL 優化常用查詢

 查詢語句執行效率

 1 SELECT top 100 
 2 (total_elapsed_time / execution_count)/1000 N'平均時間ms' 
 3 ,total_elapsed_time/1000 N'總花費時間ms' 
 4 ,total_worker_time/1000 N'所用的CPU總時間ms' 
 5 ,total_physical_reads N'物理讀取總次數' 
 6 ,total_logical_reads/execution_count N'每次邏輯讀次數' 
 7 ,total_logical_reads N'邏輯讀取總次數' 
 8 ,total_logical_writes N'邏輯寫入總次數' 
 9 ,execution_count N'執行次數' 
10 ,creation_time N'語句編譯時間' 
11 ,last_execution_time N'上次執行時間' 
12 ,SUBSTRING( 
13 st.text,
14 (qs.statement_start_offset/2) + 1,
15 ( 
16 (CASE statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2 
17 ) + 1 
18 ) N'執行語句' 
19 ,qp.query_plan 
20 FROM sys.dm_exec_query_stats AS qs
21 CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
22 CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp 
23 WHERE 
24 SUBSTRING( 
25 st.text,
26 (qs.statement_start_offset/2) + 1, 
27 ( 
28 (CASE statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2 
29 ) + 1 
30 ) not like '%fetch%' 
31 ORDER BY total_elapsed_time / execution_count DESC
32  

 

查看鎖表進程

1 SELECT  request_session_id AS spid ,
2         OBJECT_NAME(resource_associated_entity_id) AS 'table'
3 FROM    sys.dm_tran_locks
4 WHERE   resource_type = 'OBJECT' 

 

殺死進程

 1 KILL [spid] 

 

獲得執行詳細語句

 1 DBCC INPUTBUFFER(spid) 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章