文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙尺寸) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


25.6.17.54 ndbinfo server_locks 表格

server_locks 表格在結構上類似於 cluster_locks 表格,並提供後者表格中找到的資訊子集,但這些資訊特定於其所在的 SQL 節點 (MySQL 伺服器)。(cluster_locks 表格提供有關叢集中所有鎖定的資訊。) 更精確地說,server_locks 包含目前 mysqld 執行個體所屬執行緒所要求的鎖定相關資訊,並作為 server_operations 的配套表格。這可能有助於將鎖定模式與特定的 MySQL 使用者工作階段、查詢或使用案例關聯起來。

server_locks 表格包含以下欄位

  • mysql_connection_id

    MySQL 連線 ID

  • node_id

    報告節點的 ID

  • block_instance

    報告 LDM 執行個體的 ID

  • tableid

    包含此列的表格 ID

  • fragmentid

    包含鎖定列的片段 ID

  • rowid

    鎖定列的 ID

  • transid

    交易 ID

  • mode

    鎖定請求模式

  • state

    鎖定狀態

  • detail

    此鎖定是否為列鎖定佇列中的第一個持有鎖定

  • op

    操作類型

  • duration_millis

    等待或持有鎖定所花費的毫秒數

  • lock_num

    鎖定物件的 ID

  • waiting_for

    正在等待具有此 ID 的鎖定

注意事項

mysql_connection_id 欄位顯示 SHOW PROCESSLIST 顯示的 MySQL 連線或執行緒 ID。

block_instance 指的是核心區塊的執行個體。連同區塊名稱,此數字可用於在 threadblocks 表格中查找指定的執行個體。

tableidNDB 指派給表格;相同的 ID 用於其他 ndbinfo 表格中的此表格,以及 ndb_show_tables 的輸出。

transid 欄位中顯示的交易 ID 是 NDB API 為要求或持有目前鎖定的交易產生的識別碼。

mode 欄位顯示鎖定模式,始終為 S (共用鎖定) 或 X (獨佔鎖定) 其中之一。如果交易在給定列上具有獨佔鎖定,則該列上的所有其他鎖定都具有相同的交易 ID。

state 欄位顯示鎖定狀態。其值始終為 H (持有) 或 W (等待) 其中之一。正在等待的鎖定請求會等待不同交易所持有的鎖定。

detail 欄位指出此鎖定是否為受影響列的鎖定佇列中的第一個持有鎖定,在這種情況下,它包含 * (星號字元);否則,此欄位為空。此資訊可用於協助識別鎖定請求清單中的唯一項目。

op 欄位顯示要求鎖定的操作類型。這始終是 READINSERTUPDATEDELETESCANREFRESH 其中一個值。

duration_millis 欄位顯示此鎖定請求已等待或持有鎖定的毫秒數。當為等待請求授予鎖定時,此值會重設為 0。

鎖定 ID (lockid 欄位) 對於此節點和區塊執行個體而言是唯一的。

如果 lock_state 欄位的值為 W,則此鎖定正在等待授予,而 waiting_for 欄位顯示此請求正在等待的鎖定物件的鎖定 ID。否則,waiting_for 為空。waiting_for 只能參考同一列上的鎖定 (由 node_idblock_instancetableidfragmentidrowid 識別)。