JVM進階(七)——從GC日志分析堆內存
1059
2022-05-28
MySQL 中的 processlist 可以展示 MySQL 中有哪些線程在運行。
在 MySQL 中執行下述命令,得到的結果如下圖所示:
show full processlist;
上圖中的各列名及其取值如下所示:
id:線程標志,系統分配的 connection_id ,可以使用 select connection_id() 查看,出問題也是用 kill + id 去殺線程,使用 mysql > kill id;;
User:顯示當前用戶,如果當前不是用 root 查詢,這個命令只顯示用戶權限范圍的sql語句;
Host:該語句是來源,即從哪個IP和端口訪問的;
db:顯示當前進程連接的數據庫
Command:執行的命令類型,一般是休眠(sleep),查詢(query),連接(connect);
Time:SQL語句持續的時間,單位是秒;
State:語句執行狀態,有 copying to tmp table,Sorting result,Sending data 等狀態;
info:顯示執行的 SQL 語句;
State 列的狀態
Checking table:檢查表;
Closing tables:將表中修改的數據刷新(Flush)到磁盤中,同時關閉已經用完的表;
Copying to tmp table on disk:內存存儲轉換為硬盤存儲;
Creating tmp table:創建臨時表;
deleting from main table:多表刪除中的第一步;
deleting from reference tables:多表刪除中的第二步;
Flushing tables:FLUSH TABLES,等待其他線程關閉數據表
Locked:查詢有鎖;
Sending data:正在執行 SELECT 查詢,然后把結果發送給客戶端;
Sorting for group:正在為分組排序;
Sorting for order:正在排序
show processlist 顯示的查詢結果來自 information_schema 中的 processlist 表,可以用下述查詢代替:
select * from information_schema.processlist
細節的內容可以通過 官方手冊 查詢學習。
記錄時間
今天是持續寫作的第
289
/ 365 天。
可以
關注
我,
我、
評論
我、
我啦。
MySQL SQL
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。