文件首頁
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


MySQL 9.0 參考手冊  /  ...  /  INFORMATION_SCHEMA PROCESSLIST 表

28.3.23 INFORMATION_SCHEMA PROCESSLIST 表

重要

INFORMATION_SCHEMA.PROCESSLIST 已棄用,並可能會在未來的 MySQL 版本中移除。因此,使用此表的 SHOW PROCESSLIST 實作也已棄用。建議改用 Performance Schema 的 PROCESSLIST 實作。

MySQL 程序清單會指出伺服器內執行之執行緒集合目前正在執行的操作。PROCESSLIST 表是程序資訊的來源之一。如需此表與其他來源的比較,請參閱程序資訊的來源

PROCESSLIST 表有下列欄位

  • ID

    連線識別碼。這是在 SHOW PROCESSLIST 陳述式的 Id 欄位中顯示的相同值,在 Performance Schema 的 threads 表的 PROCESSLIST_ID 欄位中顯示,並由執行緒內的 CONNECTION_ID() 函式傳回。

  • USER

    發出陳述式的 MySQL 使用者。system user 值指的是伺服器產生的非用戶端執行緒,用於在內部處理工作,例如延遲列處理常式執行緒或複本主機上使用的 I/O 或 SQL 執行緒。對於 system userHost 欄位中未指定主機。unauthenticated user 指的是已與用戶端連線關聯,但尚未對用戶端使用者進行驗證的執行緒。event_scheduler 指的是監視排程事件的執行緒 (請參閱第 27.5 節「使用事件排程器」)。

    注意

    USER 的值為 system userSYSTEM_USER 權限不同。前者指定內部執行緒。後者區分系統使用者和一般使用者帳戶類別 (請參閱第 8.2.11 節「帳戶類別」)。

  • HOST

    發出陳述式的用戶端主機名稱 (除了 system user,沒有主機)。TCP/IP 連線的主機名稱會以 host_name:client_port 格式回報,以便更容易判斷哪個用戶端正在執行什麼操作。

  • DB

    執行緒的預設資料庫,如果沒有選擇則為 NULL

  • COMMAND

    執行緒代表用戶端執行的命令類型,如果連線閒置則為 Sleep。如需執行緒命令的說明,請參閱第 10.14 節「檢視伺服器執行緒 (處理序) 資訊」。此欄的值對應於用戶端/伺服器通訊協定的 COM_xxx 命令和 Com_xxx 狀態變數。請參閱第 7.1.10 節「伺服器狀態變數」

  • TIME

    執行緒目前狀態已持續的時間(以秒為單位)。對於複本 SQL 執行緒,此值為最後複製事件的時間戳記與複本主機的實際時間之間的時間差(以秒為單位)。請參閱第 19.2.3 節「複製執行緒」

  • STATE

    表示執行緒正在執行的動作、事件或狀態。如需 STATE 值的說明,請參閱第 10.14 節「檢視伺服器執行緒 (處理序) 資訊」

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

  • INFO

    執行緒正在執行的陳述式,如果未執行任何陳述式,則為 NULL。該陳述式可能是傳送到伺服器的陳述式,或者是陳述式執行其他陳述式時的最內層陳述式。例如,如果 CALL 陳述式執行正在執行 SELECT 陳述式的預存程序,則 INFO 值會顯示 SELECT 陳述式。

注意事項

  • PROCESSLIST 是一個非標準的 INFORMATION_SCHEMA 表格。

  • SHOW PROCESSLIST 陳述式的輸出類似,PROCESSLIST 表格會提供所有執行緒的相關資訊,即使是屬於其他使用者的執行緒,只要您擁有 PROCESS 權限即可。否則(沒有 PROCESS 權限),非匿名使用者可以存取有關其自身執行緒的資訊,但無法存取其他使用者的執行緒,而匿名使用者則無法存取執行緒資訊。

  • 如果 SQL 陳述式參照 PROCESSLIST 表格,MySQL 會在陳述式執行開始時一次填入整個表格,以便在陳述式執行期間保持讀取一致性。多陳述式交易則沒有讀取一致性。

下列陳述式是等效的

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST

SHOW FULL PROCESSLIST

您可以透過檢查伺服器狀態變數 Deprecated_use_i_s_processlist_countDeprecated_use_i_s_processlist_last_timestamp 的值,取得有關此表格使用情況的資訊。Deprecated_use_i_s_processlist_count 顯示自上次伺服器重新啟動以來存取 PROCESSLIST 表格的次數;Deprecated_use_i_s_processlist_last_timestamp 提供上次存取表格的時間,以 Unix 時間戳記表示。