server_transactions
テーブルは、cluster_transactions
テーブルのサブセットですが、このテーブルに関連する接続 ID が含まれている場合は、現在の SQL ノード (MySQL サーバー) が参加しているトランザクションのみが含まれます。
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 サーバーは進行中のトランザクションの 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
のいずれかの値を持つ可能性があります。 (ndbinfo_show_hidden
を有効にして MySQL サーバーが実行されている場合は、通常は非表示になっている ndb$dbtc_apiconnect_state
テーブルから選択することで、この状態のリストを表示できます。)
client_node_id
および client_block_ref
では、client
は NDB Cluster API または SQL ノード (つまり、NDB API クライアントまたはクラスタに接続された MySQL Server) を指します。
block_instance
カラムには、DBTC
カーネルブロックインスタンス番号が表示されます。 これを使用して、threadblocks
テーブルから特定のスレッドに関する情報を取得できます。