locks_per_fragment 表格提供每個片段的鎖定請求計數,以及這些請求結果的相關資訊,作為 operations_per_fragment 和 memory_per_fragment 的輔助表格。此表格也顯示自片段或表格建立以來,或自最近一次重新啟動以來,成功和不成功等待鎖定的總時間。
locks_per_fragment 表格包含以下欄位:
fq_name完整限定的表格名稱
parent_fq_name父物件的完整限定名稱
type表格類型;請參閱文字以了解可能的值
table_id表格 ID
node_id報告節點 ID
block_instanceLDM 執行個體 ID
fragment_num片段識別碼
ex_req已啟動的獨佔鎖定請求
ex_imm_ok立即授予的獨佔鎖定請求
ex_wait_ok等待後授予的獨佔鎖定請求
ex_wait_fail未授予的獨佔鎖定請求
sh_req已啟動的共用鎖定請求
sh_imm_ok立即授予的共用鎖定請求
sh_wait_ok等待後授予的共用鎖定請求
sh_wait_fail未授予的共用鎖定請求
wait_ok_millis等待授予鎖定請求所花費的時間,以毫秒為單位
wait_fail_millis等待失敗鎖定請求所花費的時間,以毫秒為單位
注意事項
block_instance 指的是核心區塊的執行個體。此數字與區塊名稱一起使用,可以用於在 threadblocks 表格中查找給定的執行個體。
fq_name 是格式為 database/schema/name 的完整限定資料庫物件名稱,例如 test/def/t1 或 sys/def/10/b$unique。
parent_fq_name 是此物件的父物件(表格)的完整限定名稱。
table_id 是 NDB 產生的表格內部 ID。這是在其他 ndbinfo 表格中顯示的相同內部表格 ID;它也可以在 ndb_show_tables 的輸出中看到。
type 欄位顯示表格的類型。這始終是以下其中之一:系統表格 (System table)、使用者表格 (User table)、唯一雜湊索引 (Unique hash index)、雜湊索引 (Hash index)、唯一排序索引 (Unique ordered index)、排序索引 (Ordered index)、雜湊索引觸發程序 (Hash index trigger)、訂閱觸發程序 (Subscription trigger)、唯讀限制 (Read only constraint)、索引觸發程序 (Index trigger)、重新組織觸發程序 (Reorganize trigger)、表格空間 (Tablespace)、記錄檔群組 (Log file group)、資料檔案 (Data file)、復原檔 (Undo file)、雜湊對應 (Hash map)、外部索引鍵定義 (Foreign key definition)、外部索引鍵父觸發程序 (Foreign key parent trigger)、外部索引鍵子觸發程序 (Foreign key child trigger) 或 綱要交易 (Schema transaction)。
所有 ex_req、ex_req_imm_ok、ex_wait_ok、ex_wait_fail、sh_req、sh_req_imm_ok、sh_wait_ok 和 sh_wait_fail 欄位中顯示的值代表自表格或片段建立以來,或自此節點上次重新啟動以來(以較晚者為準)的累積請求數量。wait_ok_millis 和 wait_fail_millis 欄位中顯示的時間值也是如此。
每個鎖定請求都被認為是在進行中,或以某種方式完成(即,已成功或失敗)。這表示以下關係成立:
ex_req >= (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)
sh_req >= (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)目前進行中的請求數量是目前不完整請求的數量,如下所示
[exclusive lock requests in progress] =
ex_req - (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)
[shared lock requests in progress] =
sh_req - (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)失敗的等待表示中止的交易,但中止可能由鎖定等待逾時引起,也可能不是。您可以在此處取得等待鎖定時中止的總次數
[aborts while waiting for locks] = ex_wait_fail + sh_wait_fail