开发者社区> 问答> 正文

PolarDB行锁等待如何处理

已解决

PolarDB行锁等待如何处理

展开
收起
提个问题 2024-05-29 14:07:42 31 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    通常情况下,持有该互斥行锁的会话会迅速的执行完相关操作,并释放掉持有的互斥锁(事务提交或者回滚),然后等待的会话在行锁等待超时时间内获得该互斥行锁,进行下一步操作。但在某些情况下,比如一个实例未感知到的来自客户端应用的数据库会话中断,持有该互斥行锁的会话长时间不释放该互斥行锁,此时如果有其他会话申请该互斥行锁,则会导致大量的行锁等待与行锁等待超时。

    请您执行以下操作,查看存在当前正在执行的事务和等待锁的事务。执行以下SQL语句,查看正在执行的事务。
    SELECT * FROM information_schema.INNODB_TRX;

    执行以下SQL语句,查看等待锁的事务。
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

    执行以下SQL语句,查看正在锁的事务。
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
    2024-05-29 14:07:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载