首页/数据/数据库速查/performance_schema.data_locks 解读
性能与调优57 条

performance_schema.data_locks 解读

P_S 的 data_locks / data_lock_waits 是锁的原始现场:每行的 LOCK_TYPE/LOCK_MODE/LOCK_DATA 精确到索引与记录,比 SHOW 输出更细。

数据库速查数据更新于 2026-10-12

锁现场快查

锁现场快查
SELECT ENGINE_TRANSACTION_ID, OBJECT_NAME, INDEX_NAME,
       LOCK_TYPE, LOCK_MODE, LOCK_STATUS, LOCK_DATA
FROM performance_schema.data_locks
ORDER BY OBJECT_NAME;
SELECT * FROM performance_schema.data_lock_waits;

字段解读

字段含义
LOCK_TYPETABLE / RECORD
LOCK_MODEX / S / X,REC_NOT_GAP / X,GAP 等
LOCK_DATA锁住的记录主键值(RECORD 时)
LOCK_STATUSGRANTED / WAITING
LOCK_DATA 显示主键值:配合业务查询即可知道「卡在谁的数据上」。

易错点

  • data_locks 只看 TABLE 行就以为没行锁:RECORD 行才是细节,注意筛选
  • 高频轮询 data_locks:本身有开销,排障时短开

数据来源与参考

  • MySQL 8.0 Reference Manual: performance_schema.data_locks

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌