图片来源:MySQL官网
每个连接都会在MySQL服务端产生一个线程(内部通过线程池管理线程)。比如:一个select语句进入,MySQL首先会在查询缓存中查找是否缓存了这个select结果集,如果没有则继续执行解析→优化→执行得过程;否则会直接从缓存中获取结果集。共享锁和排他锁都是标准的行级锁。
1)共享锁S:标准的读锁,读锁允许多个连接可以同一时刻并发的读取同一资源,互不干扰。
2)排他锁X:又称写锁,一个写锁会阻塞其他的写锁或读锁,保证同一个时刻只有一个连接可以写入数据,同时防止其他用户对这个数据的读写。背景:多粒度锁的并存场景。
InnoDB支持多粒度锁(锁粒度:可分为行锁和表锁),允许行锁和表锁共存。为了实现多粒度级别的锁定,InnoDB使用了意图锁。
意向锁:表级别的锁。先提前声明的一个意向,并获取表级别的意向锁(共享意向锁IS或排他意向锁IX),如果获取成功,则稍后将要或正在(才被允许),对该表的某些行加锁(S或X)了。
注意:除了LOCKTABLES…WRITE,会锁住表中的所有行,其他场景意向锁实际锁不住任何行。
意向协议锁开发云主机域名:在事务能够获取表中的行上的共享锁之前,他必须首先获取表上的IS锁或更强的锁。在事务能够获取表中的行上的独占锁之前,它必须首先获取表上的IX锁。
意向锁实现的背景是多粒度锁的并存场景,兼容性如下:Conflict:互斥
Compatible:兼容
意向锁仅表示意向,是一种较弱的锁,意向锁之间兼容并行(IS,IX之间兼容并行)。X与IS,IX互斥,S与IX互斥。意向锁是比X/S更弱的锁,存在一种预判的意义。先获取更弱的IS,IX锁,如果获取失败就不必再获取更强S,X锁。
本文主要给大家简单讲讲mysql中合并两张表的简单方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql中合并两张表的简单方法这篇文章可以给大家带来一些实际帮助。mysqldump -d:只导出表结构,不…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。