博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL Metadata Lock详解
阅读量:4624 次
发布时间:2019-06-09

本文共 1365 字,大约阅读时间需要 4 分钟。

 

Metadata Lock 的作用:

  要直接说出Metadata Lock 的作用、以我目前的文字功底是不行的、好在我可以通过一个例子来说明。

  假设session 1 在正在执行如下的SQL语句

select * from t ;

  session 2 想要执行 

drop table t;

  drop table t ; 这句SQL是不能得到马上执行的、因为session 1 还用着t表。

 

  Metadata Lock 是为了防止在有dml执行的过程中,有ddl修改dml中用到的对象,所以不管是dml还是ddl

  在执行前都要得到语句所涉及对象的Metadata Lock ;不同的是dml要得到的是S锁、而ddl是X锁。  

   

  上面的例子中通过show processlist 可以看到如下内容

show processlist;+----+-------------+-----------+--------+---------+------+---------------------------------+------------------+| Id | User        | Host      | db     | Command | Time | State                           | Info             |+----+-------------+-----------+--------+---------+------+---------------------------------+------------------+|  1 | jianglexing | localhost | tempdb | Sleep   |   23 |                                 | NULL             ||  2 | jianglexing | localhost | tempdb | Query   |   11 | Waiting for table metadata lock | drop table t     ||  3 | jianglexing | localhost | NULL   | Query   |    0 | starting                        | show processlist |+----+-------------+-----------+--------+---------+------+---------------------------------+------------------+

 

 

Metadata Lock 的作用范围:

   所在数据库中的对象、如 table、schema、trigger  ... 

 

 

----------------------------------------------------------------------------------------------

 

转载于:https://www.cnblogs.com/JiangLe/p/8581481.html

你可能感兴趣的文章
Unable to load template file 'rj\ThinkPHP/Tpl/dispatch_jump.tpl'----thinkphp3.2.3
查看>>
Javascript Date类常用方法详解
查看>>
IIS配置域用户自动登录
查看>>
linux基础命令
查看>>
Java——Json字符串与Object互转
查看>>
Guava官方文档-RateLimiter类
查看>>
css2----清除浮动
查看>>
为HTML添加图片登录按钮
查看>>
Vuejs模板绑定
查看>>
Archlinux/Manjaro使用笔记-报错:一个或多个 PGP 签名无法校验!的解决方法
查看>>
P3161 [CQOI2012]模拟工厂
查看>>
keepalived+haproxy实现高可用
查看>>
centos6 python安装sqlite解决No module named
查看>>
layui数据表格自定义每页条数limit
查看>>
sendmail报错Relaying denied
查看>>
阿里中间件技术及双十一实践--中间件总体介绍
查看>>
DNS简介
查看>>
charactercontroller里simplemove函数与move函数的介绍
查看>>
update join
查看>>
复杂链表的复制
查看>>