server_transactions
表格是 cluster_transactions
表格的子集,但僅包含目前 SQL 節點 (MySQL Server) 為參與者的交易,並包含相關的連線 ID。
server_transactions
表格包含以下欄位:
mysql_connection_id
MySQL Server 連線 ID
node_id
交易協調器節點 ID
block_instance
交易協調器區塊實例
transid
交易 ID
state
操作狀態 (請參閱文字以瞭解可能的值)
count_operations
交易中具狀態的操作次數
outstanding_operations
本地資料管理層 (LQH 區塊) 仍在執行的操作
inactive_seconds
等待 API 的時間
client_node_id
用戶端節點 ID
client_block_ref
用戶端區塊參考
注意事項
mysql_connection_id
與 SHOW PROCESSLIST
輸出中顯示的連線或工作階段 ID 相同。 它從 INFORMATION_SCHEMA
表格 NDB_TRANSID_MYSQL_CONNECTION_MAP
取得。
block_instance
指的是核心區塊的實例。 此數字與區塊名稱一起使用,可用於在 threadblocks
表格中查找指定的實例。
交易 ID (transid
) 是一個唯一的 64 位元數字,可使用 NDB API 的 getTransactionId()
方法取得。(目前,MySQL Server 不會公開正在進行的交易之 NDB API 交易 ID。)
state
欄位可以具有以下任何一個值:CS_ABORTING
、CS_COMMITTING
、CS_COMMIT_SENT
、CS_COMPLETE_SENT
、CS_COMPLETING
、CS_CONNECTED
、CS_DISCONNECTED
、CS_FAIL_ABORTED
、CS_FAIL_ABORTING
、CS_FAIL_COMMITTED
、CS_FAIL_COMMITTING
、CS_FAIL_COMPLETED
、CS_FAIL_PREPARED
、CS_PREPARE_TO_COMMIT
、CS_RECEIVING
、CS_REC_COMMITTING
、CS_RESTART
、CS_SEND_FIRE_TRIG_REQ
、CS_STARTED
、CS_START_COMMITTING
、CS_START_SCAN
、CS_WAIT_ABORT_CONF
、CS_WAIT_COMMIT_CONF
、CS_WAIT_COMPLETE_CONF
、CS_WAIT_FIRE_TRIG_REQ
。(如果 MySQL Server 在啟用 ndbinfo_show_hidden
的情況下執行,您可以透過從 ndb$dbtc_apiconnect_state
表格 (通常為隱藏) 選擇來檢視此狀態清單。)
在 client_node_id
和 client_block_ref
中,client
指的是 NDB Cluster API 或 SQL 節點(也就是連接到叢集的 NDB API 用戶端或 MySQL Server)。
block_instance
欄位提供 DBTC
核心區塊實例編號。您可以使用它從 threadblocks
表格取得特定執行緒的相關資訊。