📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

SHOW LOCKS



提供当前正在持有表锁的活跃事务列表,可以显示当前用户在其所有会话中的锁,或 TiDB Cloud Lake 系统内所有用户的锁。锁是一种同步机制,用于限制对共享资源(如表)的访问,确保 TiDB Cloud Lake 系统中的进程或线程之间以有序且受控的方式进行交互,从而维护数据一致性并防止冲突。

UPDATE、DELETE、OPTIMIZE TABLE、RECLUSTER TABLE 和 ALTER TABLE 等操作都可能导致系统中出现表锁。表锁功能默认启用。发生资源冲突时,你可以使用该命令查看具体详情。若要禁用此功能,请执行 set enable_table_lock=0;。

语法

SHOW LOCKS [IN ACCOUNT] [WHERE <expr>]
参数描述
IN ACCOUNT显示 TiDB Cloud Lake 系统内所有用户的锁信息。如果省略该选项,则命令返回当前用户在所有会话中的锁。
WHERE根据状态筛选锁;有效值包括 HOLDING 和 WAITING。

输出

该命令以表格形式返回锁信息,包含以下列:

列描述
table_id与该锁关联的表的内部 ID。
revision表示发起该锁的事务版本的修订号。从 0 开始,该数字会随着后续每个事务递增,从而在所有事务之间建立完整的顺序。
type锁的类型,例如 TABLE。
status锁的状态,例如 HOLDING 或 WAITING。
user与该锁关联的用户。
node持有该锁的查询节点标识符。
query_id与该锁相关的查询会话 ID。在发生死锁或锁持有时间过长时,可使用它来 KILL 查询。
created_on发起该锁的事务创建时的时间戳。
acquired_on获取该锁时的时间戳。
extra_info与该锁相关的附加信息(如果有)。

示例

SHOW LOCKS IN ACCOUNT; +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ | table_id | revision | type | status | user | node | query_id | created_on | acquired_on | extra_info | +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ | 57 | 4517 | TABLE | HOLDING | root | xzi6pRbLUYasuA9QFB36m6 | d7989971-d5ec-4764-8e37-afe38ebc13e2 | 2023-12-13 09:56:47.295684 | 2023-12-13 09:56:47.310805 | | +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ SHOW LOCKS; +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ | table_id | revision | type | status | user | node | query_id | created_on | acquired_on | extra_info | +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ | 57 | 4517 | TABLE | HOLDING | root | xzi6pRbLUYasuA9QFB36m6 | d7989971-d5ec-4764-8e37-afe38ebc13e2 | 2023-12-13 09:56:47.295684 | 2023-12-13 09:56:47.310805 | | | 57 | 4521 | TABLE | WAITING | zzq | xzi6pRbLUYasuA9QFB36m6 | 4bc78044-d4fc-4fe1-a5c5-ff6ab1e3e372 | 2023-12-13 09:56:48.419774 | NULL | | +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ SHOW LOCKS WHERE STATUS = 'HOLDING'; +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ | table_id | revision | type | status | user | node | query_id | created_on | acquired_on | extra_info | +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+ | 57 | 4517 | TABLE | HOLDING | root | xzi6pRbLUYasuA9QFB36m6 | d7989971-d5ec-4764-8e37-afe38ebc13e2 | 2023-12-13 09:56:47.295684 | 2023-12-13 09:56:47.310805 | | +----------+----------+-------+---------+------+------------------------+--------------------------------------+----------------------------+----------------------------+------------+

文档内容是否有帮助?