文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


10.14.1 存取處理程序清單

以下討論列舉了處理程序資訊的來源、檢視處理程序資訊所需的權限,並描述處理程序清單項目的內容。

處理程序資訊的來源

可從這些來源取得處理程序資訊

threads 表格與 SHOW PROCESSLISTINFORMATION_SCHEMA PROCESSLIST 以及 mysqladmin processlist 的比較如下

  • 存取 threads 表格不需要互斥鎖,對伺服器效能的影響極小。其他來源會產生負面的效能影響,因為它們需要互斥鎖。

    注意

    基於 Performance Schema processlist 表格,可使用 SHOW PROCESSLIST 的替代實作,就像 threads 表格一樣,不需要互斥鎖,且具有較佳的效能特性。如需詳細資訊,請參閱第 29.12.22.7 節,「processlist 表格」

  • threads 表格會顯示背景執行緒,這是其他來源所沒有的。它也提供其他來源沒有的每個執行緒的額外資訊,例如執行緒是前景還是背景執行緒,以及與執行緒關聯的伺服器內的位置。這表示 threads 表格可用於監控其他來源無法監控的執行緒活動。

  • 您可以啟用或停用 Performance Schema 執行緒監控,如第 29.12.22.8 節,「threads 表格」中所述。

基於這些原因,使用其他執行緒資訊來源之一執行伺服器監控的 DBA 可能會希望改為使用 threads 表格進行監控。

sys 綱要 processlist 檢視以更易於存取的格式呈現來自 Performance Schema threads 表格的資訊。sys 綱要 session 檢視呈現使用者工作階段的相關資訊,如同 sys 綱要 processlist 檢視,但會篩除背景處理序。

存取處理序清單所需的權限

對於大多數處理序資訊來源,如果您具有 PROCESS 權限,您可以看到所有執行緒,即使是屬於其他使用者的執行緒。否則(沒有 PROCESS 權限),非匿名使用者可以存取他們自己的執行緒相關資訊,但不能存取其他使用者的執行緒,而匿名使用者則無法存取執行緒資訊。

Performance Schema threads 表格也提供執行緒資訊,但表格存取會使用不同的權限模型。請參閱第 29.12.22.8 節,「threads 表格」

處理序清單項目的內容

每個處理序清單項目都包含數個資訊片段。下列清單使用 SHOW PROCESSLIST 輸出的標籤來描述它們。其他處理序資訊來源使用類似的標籤。

  • Id 是與執行緒關聯之用戶端的連線識別碼。

  • UserHost 指出與執行緒關聯的帳戶。

  • db 是執行緒的預設資料庫,如果沒有選取任何資料庫,則為 NULL

  • CommandState 指出執行緒正在執行的動作。

    大多數狀態對應到非常快速的作業。如果執行緒在給定狀態中停留數秒,可能需要調查問題。

    下列章節列出可能的 Command 值,以及依類別分組的 State 值。其中一些值的含義是不言而喻的。對於其他值,則提供額外的說明。

    注意

    檢查處理序清單資訊的應用程式應注意,命令和狀態可能會變更。

  • Time 指出執行緒處於目前狀態的時間長度。在某些情況下,執行緒目前的時區可能會被變更:執行緒可以使用 SET TIMESTAMP = value 來變更時間。對於複寫 SQL 執行緒,此值是上次複寫事件的時間戳記與複本主機實際時間之間經過的秒數。請參閱第 19.2.3 節,「複寫執行緒」

  • Info 指出執行緒正在執行的陳述式,如果未執行任何陳述式,則為 NULL。對於 SHOW PROCESSLIST,此值僅包含陳述式的前 100 個字元。若要查看完整的陳述式,請使用 SHOW FULL PROCESSLIST(或查詢不同的處理序資訊來源)。