开发指南—DAL语句—SHOW—SHOW METADATA LOCK

简介: 本文将介绍如何在PolarDB-X上使用SHOW METADATA LOCK语句查询持有锁的事务。

背景信息

PolarDB-X在创建全局二级索引时使用了内建的METADATA LOCK,保证事务以及数据的一致性。在已有表上建立全局二级索引通常需要较长的时间,若此时同时存在持有锁的事务在运行则可能出现SCHEMA变更等待事务完成的情况。此时您可以使用SHOW METADATA LOCK语句查询持有锁的事务以及对应正在执行的SQL语句,方便您排查阻塞SCHEMA变更的长时间事务。


说明 PolarDB-X支持Online Schema Change,添加全局二级索引过程中,会发生4次元数据版本切换,其中有两次会先获取METADATA LOCK的写锁加载元数据完成后立即解锁,其余的时间均不会持有METADATA LOCK的写锁。

语法


SHOW METADATA {LOCK | LOCKS} [schema_name[.table_name]]

schema_nametbl_name是可选的,用于过滤显示的数据库名或表名。


show metadata lock; # 显示该节点上所有持有metadata lock的连接

show metadata lock xxx_db; # 显示该节点上 xxx_db 中所有持有metadata lock的连接
show metadata lock xxx_db.tb_name; # 显示该节点上 xxx_db 中 tb_name 上所有持有metadata lock的连接

示例


mysql> show metadata lock;
+---------+--------+-----------------+---------------------+--------------+------------------+-----------------+----------+-------------------------------------+-----------------------------------------------+
| CONN_ID | TRX_ID | TRACE_ID | SCHEMA | TABLE | TYPE | DURATION | VALIDATE | FRONTEND | SQL |
+---------+--------+-----------------+---------------------+--------------+------------------+-----------------+----------+-------------------------------------+-----------------------------------------------+
| 4 | 0 | f88cf71cbc00001 | XXXX_DRDS_LOCAL_APP | full_gsi_ddl | MDL_SHARED_WRITE | MDL_TRANSACTION | 1 | XXXX_DRDS_LOCAL_APP@127.0.0.1:54788 | insert into `full_gsi_ddl` (id) VALUE (null); |
| 5 | 0 | f88cf71cbc00000 | XXXX_DRDS_LOCAL_APP | full_gsi_ddl | MDL_SHARED_WRITE | MDL_TRANSACTION | 1 | XXXX_DRDS_LOCAL_APP@127.0.0.1:54789 | insert into `full_gsi_ddl` (id) VALUE (null); |
+---------+--------+-----------------+---------------------+--------------+------------------+-----------------+----------+-------------------------------------+-----------------------------------------------+
2 rows in set (0.00 sec)


说明 该语句仅用于显示已持有锁的连接,不显示等待锁的连接。

表 1. 列名说明

列名 说明
CONN_ID 持有锁的连接ID
TRX_ID 持有锁的事务ID
TRACE_ID 持有锁的SQL的跟踪 ID
SCHEMA 库名
TABLE 表名
TYPE 持有锁类型
DURATION 持有锁的周期
VALIDATE 是否有效
FRONTEND 前端连接信息
SQL 持有锁的SQL语句
相关文章
|
机器学习/深度学习 存储 自然语言处理
《a gift from knowledge distillation》
翻译:《a gift from knowledge distillation》
212 0
|
7月前
|
人工智能 运维 前端开发
【CodeBuddy】三分钟开发一个实用小功能之:爆炸式模态框弹出
本文介绍了如何借助CodeBuddy实现一个点击按钮后带有粒子爆炸效果的模态框功能。通过自然语言描述需求,CodeBuddy不仅快速生成代码框架,还主动优化细节,如粒子随机颜色、运动轨迹、模态框关闭动画等。整个过程无需手动编写代码,AI根据需求逐步完善交互效果,最终实现流畅自然的粒子爆炸与模态框弹出动画。附带完整HTML、CSS和JS代码,适合新手学习和开发者参考。
193 3
【CodeBuddy】三分钟开发一个实用小功能之:爆炸式模态框弹出
|
机器学习/深度学习 IDE 开发工具
Python集成开发环境的选择
【7月更文挑战第6天】Python集成开发环境的选择
400 2
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
机器学习/深度学习 算法 安全
提高人脸识别识别率技术
智能工厂趋势中,人脸识别技术在提升生产效率和安全管理方面展现应用价值。技术挑战包括环境光线控制、背景干扰、数据多样性和算法优化。解决方案涉及模型选择、实时性与准确性平衡,以及使用标签平滑技术减轻模型过拟合,提高泛化能力。通过训练优化的CNN模型,结合数据增强和标签平滑,实现更精准的人脸识别系统。
|
JavaScript 前端开发 API
|
机器学习/深度学习 存储 数据可视化
Python 中的 Pandas
【8月更文挑战第29天】
229 9
|
JSON API 开发者
Lazada商品评论数据接口的API密钥如何获取?
通过Lazada商品评论接口,开发者可获取评论内容、日期、买家昵称、商品属性、评分及图片/视频等信息。首先需注册成为Lazada开放平台开发者并获取API密钥,随后根据所需数据选择合适接口及参数,构造并发送HTTP请求至Lazada服务器,最后解析返回的JSON数据提取评论详情。使用时应注意API调用限制,并遵循Lazada的规定。
|
存储 NoSQL 中间件
[中间件~大厂面试题] 腾讯三面,40亿的QQ号如何去重
[中间件~大厂面试题] 腾讯三面,40亿的QQ号如何去重
397 0
|
机器学习/深度学习 算法 PyTorch
简单讲解CNN(卷积神经网络)
简单讲解CNN(卷积神经网络)
217 1