server_operations
テーブルは、現在の SQL ノード (MySQL サーバー) が現在関与している進行中のすべての NDB
操作を表すエントリを格納します。 それは事実上、その他の SQL ノードおよび API ノードに対する操作が表示されない cluster_operations
テーブルのサブセットです。
server_operations
テーブルには、次のカラムがあります:
-
mysql_connection_id
MySQL Server 接続 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
のいずれかの値を取ることができます。 (ndbinfo_show_hidden
を有効にして MySQL サーバーが実行されている場合は、通常は非表示になっている 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 Server) を指します。
block_instance
および tc_block_instance
カラムは NDB カーネルブロックのインスタンス番号を提供します。 これらを使用して、threadblocks
テーブルから特定のスレッドに関する情報を取得できます。