25.6.17.9 NDB集群事务表:cluster_transactions
NDB集群的事务表cluster_transactions
显示了NDB集群中的所有正在进行的事务信息。
表cluster_transactions
包含以下列:
-
node_id
事务协调器节点ID
-
block_instance
TC块实例
-
transid
事务ID
-
state
操作状态(见文本中可能的值)
-
count_operations
事务中的状态ful主键操作数量(包括带锁定的读取操作和DML操作)
-
outstanding_operations
本地数据管理块中仍在执行的操作
-
inactive_seconds
等待API所花费的时间
-
client_node_id
客户端节点ID
-
client_block_ref
客户端块引用
事务ID是一个唯一的64位数字,可以使用NDB API的getTransactionId()
方法获取。 (当前,MySQL Server不 expose NDB API事务ID的正在进行的事务。)
block_instance
指的是内核块的实例。与块名称一起,这个数字可以用来在 threadblocks
表中查找给定的实例。
状态列可以具有以下值之一: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_COMMITING
,CS_START_SCAN
,CS_WAIT_ABORT_CONF
,CS_WAIT_COMMIT_CONF
,CS_WAIT_COMPLETE_CONF
,CS_WAIT_FIRE_TRIG_REQ
。 (如果 MySQL 服务器启用了 ndbinfo_show_hidden
,您可以通过从 ndb$dbtc_apiconnect_state
表中选择来查看这个状态列表,这个表通常是隐藏的。)
在client_node_id
和client_block_ref
中,client
指的是 NDB 集群 API 或 SQL 节点(即 NDB API 客户端或连接到集群的 MySQL 服务器)。
tc_block_instance
列提供了DBTC
块实例号。您可以使用该信息,结合块名称,从threadblocks
表中获取关于特定线程的信息。