SQL 資料庫程序排查

2022-04-28 22:42:17 字數 593 閱讀 5707

show processlist; 顯示使用者正在執行的執行緒

select client_ip, count(client_ip) as client_count from (select substring_index(host,':' ,1) as client_ip from information_schema.processlist ) as clients group by client_ip order by client_count desc;

取所有運算元據庫的執行緒的客戶端ip,計算其數量成表

select * from information_schema.processlist where command != 'sleep' order by time desc;

select concat('kill ', id, ';') from information_schema.processlist where command != 'sleep' and time > 300 order by time desc;

找出狀態不是sleep且時間超過5分鐘的殺掉;

sleep通常代表資源未釋放,如果是通過連線池,sleep狀態應該恆定在一定數量範圍內。

MySQL資料庫掛掉排查 MySQL資料庫死鎖排查

第一種 1.查詢是否鎖表 show open tables where in use 0 2.查詢程序 如果您有super許可權,您可以看到所有執行緒。否則,您只能看到您自己的執行緒 show processlist 3.殺死程序id 就是上面命令的id列 kill id 第二種 1.檢視下在鎖的事...

資料庫應用排查優化

最近部門內在做資料方面的優化,這裡總結一下。一般資料庫優化可以從以下幾個方面入手 大事務慢查詢 鎖表 死鎖 鎖降級主從延遲 排查帶有trasactional註解的方法呼叫棧中是否存在rpc http請求等重度操作,考慮事務拆解,實現最終一致性 排查trancation介面呼叫begin和commit...

資料庫鎖問題排查

oracle awr sql執行等資訊 alert 報錯資訊 trance日誌 1 檢視哪些會話鎖了哪些表 select l.session id,o.owner,o.object name from v locked object l,dba objects o where l.object id...