找出效能差的語句

2021-09-08 02:42:04 字數 1406 閱讀 3608

1 找出效率低的語句

select

top10

qs.total_worker_time ,qs.total_logical_reads,qs.last_logical_writes,   qs.plan_handle,

qs.execution_count,

(select

substring

(text

, qs.statement_start_offset/2

+1,(

case

when

qs.statement_end_offset =-

1then

len(

convert

(nvarchar

(max

), text

)) *

2else

qs.statement_end_offset

end-

qs.statement_start_offset)/2

)from

sys.dm_exec_sql_text(sql_handle)) 

asquery_text

from

sys.dm_exec_query_stats qs

order

bytotal_worker_time 

desc

2 檢視這些語句對應的client, hostname,loginname

select

s.host_name

,s.program_name,s.login_name, t.

text

from

sys.dm_exec_requests r 

cross

inner

join

sys.dm_exec_sessions s 

onr.session_id

=s.session_id

where

t.text

like

'%sqlstatement%'--

--- place your sql statement here

ands.session_id

<>

@@spid

3確定這些語句隸屬的儲存過程

通過第一步得到的plan_handle,代入dm_exec_query_plan,得到具體的儲存過程的名稱。如果返回空,則說明該語句是ad-hoc或者是prepared或者是在儲存過程內部使用批結字串弄出來的語句。如果是以上幾種情況,我們是無法定位物件的,只能讓程式設計師們逐個排查了

select

object_name

(objectid) 

from

sys.dm_exec_query_plan ( plan_handle )

找出效能差的語句

1 找出效率低的語句 select top10 qs.total worker time qs.total logical reads,qs.last logical writes,qs.plan handle,qs.execution count,select substring text qs....

如何找出最差效能的查詢

我經常會被反覆問到這樣的問題 我有乙個效能很差的sql server。我如何找出最差效能的查詢?因此在今天的文章裡會給你一些讓你很容易找到問題答案的資訊嚮導。sql server的乙個優點是它本身能回答幾乎所有你的問題,因為sql server在各個dmv和dmf裡儲存了很多故障排除資訊。另一方面這...

mysql 語句 效能 mysql語句效能分析

id id列數字越大越先執行,id列為null的就表是這是乙個結果集 select type 表示不需要union操作或者不包含子查詢的簡單select查詢。有連線查詢時,外層的查詢為 且只有乙個 primary 乙個需要union操作或者含有子查詢的select,位於最外層的單位查詢的select...