企业网站建设义乌,深圳网络科技有限公司简介,wordpress默认用户名,零基础网站建设教程1.元数据锁 查看元数据锁
select object_type,object_scheme,object_name,lock_type,lock_duration from perfomance_scheme.metadata_locks;2.意向锁 线程A开启事务后在执行update更新语句时候#xff0c;会给数据加上行锁#xff0c;加上行锁以后#xff0c;会对整张表加…1.元数据锁 查看元数据锁
select object_type,object_scheme,object_name,lock_type,lock_duration from perfomance_scheme.metadata_locks;2.意向锁 线程A开启事务后在执行update更新语句时候会给数据加上行锁加上行锁以后会对整张表加上意向锁。
线程B来给整张表加上表锁时会先检查这张表的意向锁通过意向锁来决定它能不能对这张表加锁成功如果加的表锁和当前这张表的意向锁是兼容的那么直接会给这张表加锁如果当前要加的锁和这张表的意向锁不兼容那此时线程B将会出于阻塞状态一直阻塞到线程A将事务提交行锁释放意向锁释放之后线程B将解除阻塞状态。 线程1中
#开启事务
begin;select * from score where id 1 lock in share mode;
线程2中查看表中的意向锁和执行完sql语句加的行锁此行锁为共享锁
select object_scheme,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks;IS意向共享锁和表锁里面的读锁是兼容的和表锁里面的写锁是互斥的。 意向锁存在它的作用就是在innodb引擎当中加的行锁和表锁之间的冲突问题。