kill慢sql的儲存過程

2021-10-10 09:01:11 字數 1053 閱讀 9199

呼叫儲存過程

create procedure `killsql`(

)begin

declare v_sql_1 varchar

(500);

declare kill_id int;

declare num int default 0

; declare id_list cursor for

select

id from

information_schema.processlist

where

info is not null

and ( info like '%shipment_detail.itemcode%' or info like '%limit 0,100%'

) and state !=

'executing'

order by

time desc;

declare continue handler for not found set num=1;

open id_list;

-- 將游標中的值賦值給變數,要注意sql結果列的順序

fetch id_list into kill_id;

while num <

>

1 do

set v_sql_1 =

concat

('kill '

,kill_id,

';')

; set @sql_1

= v_sql_1;

-- 預處理需要執行的動態sql,其中stmt是乙個變數

prepare stmt1 from @sql_1

;-- 執行sql語句

execute stmt1;

-- 釋放掉預處理段

deallocate prepare stmt1;

fetch id_list into kill_id;

end while;

close id_list;

end

KILL死鎖的儲存過程

死鎖可以查一下 1 sp who 或 sp who2 2 select from sysprocesses where blocked 0 3 企業管理器 伺服器 管理工具 活動 當前活動然後把他kill掉。4 sql事件探查器,監控一下,看主要是那些處理引起的死鎖.然後做相應的處理.用事件探查器n...

sql儲存過程比sql語句執行慢很多

引數嗅探的問題 原因 1 可能是發生了引數嗅探,第一次賦給儲存過程的輸入引數,會為該儲存過程生成乙個基於輸入引數的執行計畫,因此如果第一次輸入的引數不具有代表性 例如大部分查詢輸入的引數都是a值,但第一次執行儲存過程時輸入的是b值 就有可能比即席查詢慢,儘管即席查詢需要重新編譯執行計畫,但選擇了更有...

SQL的儲存過程

儲存過程可以改變sql語句的執行效能,提高執行效率 還可以作為一種安全機制,使使用者通過它來訪問未被授權的表和檢視。儲存過程包括的建立 執行 檢視 修改和刪除 概念 儲存過程是一組預先編譯好的transact sql語句。儲存過程為標準sql增加了幾種功能,這些功能正是sql語句所缺少的,增加的功能...