MySQL Shell 9.0  /  ...  /  內建 MySQL Shell 報表:執行緒

10.1.6.2 內建 MySQL Shell 報表:執行緒

內建 MySQL Shell 報表 threads 會列出已連線 MySQL 伺服器中,屬於執行報表的使用者帳戶的目前執行緒。此報表適用於執行所有支援的 MySQL 5.7、8.0 和 8.1 版本的伺服器。如果目標伺服器的 MySQL Server 版本中沒有任何資訊項目,報表會將其省略。

threads 報表會提供每個執行緒的資訊,這些資訊來自各種來源,包括 MySQL 的效能綱要。使用報表專屬選項,您可以選擇顯示前景執行緒、背景執行緒或所有執行緒。您可以報告每個執行緒的預設資訊集,或從更多可用的選項中選取要包含在報表中的特定資訊。您可以篩選、排序和限制輸出。如需報表專屬選項的詳細資訊以及您可以包含在報表中的完整資訊清單,請發出下列其中一個 MySQL Shell 命令來檢視報表說明

\help threads
\show threads --help

除了報表專屬選項之外,threads 報表還接受 \show\watch 命令的標準選項,如第 10.1.5 節,「執行 MySQL Shell 報表」中所述。 threads 報表屬於清單類型,預設情況下結果會以表格形式傳回,但您可以使用 --vertical (或 -E) 選項以垂直格式顯示。

threads 報表使用 MySQL Server 的 format_statement() 函式 (請參閱format_statement() 函式)。報表中顯示的任何截斷語句都會根據 MySQL Server sys_config 表格中的 statement_truncate_len 選項設定進行截斷,預設值為 64 個字元。

以下清單摘要說明 threads 報表的報表專屬選項所提供的功能。請參閱報表說明,以取得完整詳細資訊和選項的簡短形式

--foreground--background--all

僅列出前景執行緒、僅列出背景執行緒或列出所有執行緒。除非您使用 --format 選項來指定您自己的欄位選擇,否則報表會顯示適合您執行緒類型選擇的預設欄位集。

--format

定義您自己的自訂資訊集以顯示每個執行緒,指定為以逗號分隔的欄清單 (以及顯示名稱,如果您想要)。報表說明會列出您可以包含的所有欄,以自訂您的報表。

--where--order-by--desc--limit

使用邏輯運算式 (--where) 篩選傳回的結果,在選取的欄 (--order-by) 上排序,以降冪而非升冪順序排序 (--desc),或限制傳回的執行緒數量 (--limit)。

例如,下列命令會執行 threads 報表以顯示所有前景執行緒,並包含自訂資訊集,其中包含執行緒 ID、任何產生執行緒的 ID、連線 ID、使用者名稱和主機名稱、用戶端程式名稱、執行緒正在執行的命令類型,以及執行緒配置的記憶體

mysql-js> \show threads --foreground -o tid,ptid,cid,user,host,progname,command,memory