server_operations 表格包含目前 SQL 節點 (MySQL 伺服器) 正在參與的所有進行中 NDB 作業的項目。它實際上是 cluster_operations 表格的子集,其中不顯示其他 SQL 和 API 節點的作業。
server_operations 表格包含以下欄位
mysql_connection_idMySQL 伺服器連線 ID
node_id節點 ID
block_instance區塊執行個體
transid交易 ID
operation_type作業類型 (請參閱文字以了解可能的值)
state作業狀態 (請參閱文字以了解可能的值)
tableid表格 ID
fragmentid片段 ID
client_node_id用戶端節點 ID
client_block_ref用戶端區塊參考
tc_node_id交易協調器節點 ID
tc_block_no交易協調器區塊編號
tc_block_instance交易協調器區塊執行個體
注意事項
mysql_connection_id 與 SHOW PROCESSLIST 的輸出中顯示的連線或工作階段 ID 相同。它是從 INFORMATION_SCHEMA 表格 NDB_TRANSID_MYSQL_CONNECTION_MAP 取得。
block_instance 參考核心區塊的執行個體。此數字連同區塊名稱,可用於在 threadblocks 表格中尋找指定的執行個體。
交易 ID (transid) 是一個唯一的 64 位元數字,可使用 NDB API 的 getTransactionId() 方法取得。(目前,MySQL 伺服器不會公開進行中交易的 NDB API 交易 ID。)
operation_type 欄位可以採用 READ、READ-SH、READ-EX、INSERT、UPDATE、DELETE、WRITE、UNLOCK、REFRESH、SCAN、SCAN-SH、SCAN-EX 或 <unknown> 的其中一個值。
state 欄位可以有 ABORT_QUEUED、ABORT_STOPPED、COMMITTED、COMMIT_QUEUED、COMMIT_STOPPED、COPY_CLOSE_STOPPED、COPY_FIRST_STOPPED、COPY_STOPPED、COPY_TUPKEY、IDLE、LOG_ABORT_QUEUED、LOG_COMMIT_QUEUED、LOG_COMMIT_QUEUED_WAIT_SIGNAL、LOG_COMMIT_WRITTEN、LOG_COMMIT_WRITTEN_WAIT_SIGNAL、LOG_QUEUED、PREPARED、PREPARED_RECEIVED_COMMIT、SCAN_CHECK_STOPPED、SCAN_CLOSE_STOPPED、SCAN_FIRST_STOPPED、SCAN_RELEASE_STOPPED、SCAN_STATE_USED、SCAN_STOPPED、SCAN_TUPKEY、STOPPED、TC_NOT_CONNECTED、WAIT_ACC、WAIT_ACC_ABORT、WAIT_AI_AFTER_ABORT、WAIT_ATTR、WAIT_SCAN_AI、WAIT_TUP、WAIT_TUPKEYINFO、WAIT_TUP_COMMIT 或 WAIT_TUP_TO_ABORT 的其中一個值。(如果 MySQL 伺服器執行時啟用 ndbinfo_show_hidden,則您可以透過從通常隱藏的 ndb$dblqh_tcconnect_state 表格中選取,來檢視此狀態清單。)
您可以藉由檢查 ndb_show_tables 的輸出,從表格 ID 取得 NDB 表格的名稱。
fragid 與在 ndb_desc --extra-partition-info (簡短形式 -p) 的輸出中看到的分割區號碼相同。
在 client_node_id 和 client_block_ref 中,client 參考 NDB Cluster API 或 SQL 節點 (也就是,連接至叢集的 NDB API 用戶端或 MySQL 伺服器)。
block_instance 和 tc_block_instance 欄位提供 NDB 核心區塊執行個體編號。您可以使用這些編號,從 threadblocks 表格取得特定執行緒的相關資訊。