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

10.1.6.2 內建 MySQL Shell 報表:執行緒

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

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

\help threads
\show threads --help

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

threads 報表會使用 MySQL 伺服器的 format_statement() 函數 (請參閱 format_statement() 函數)。報表中顯示的任何截斷陳述式,都是根據 MySQL 伺服器 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