25.6.17.9 NDB集群事务表:cluster_transactions
NDB集群的事务表cluster_transactions显示了NDB集群中的所有正在进行的事务信息。
表cluster_transactions包含以下列:
-
node_id事务协调器节点ID
-
block_instanceTC块实例
-
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表中获取关于特定线程的信息。