mysql知识点总结

本文介绍了MySQL的binlog三种模式:基于SQL语句、行模式和混合模式,其中行模式在处理复杂SQL时更为可靠。此外,详细阐述了InnoDB的锁机制,包括表锁(S、X、IS、IX)和行锁(S、X),以及意向锁的作用。还提到了MVCC多版本并发控制原理,并指出间隙锁在解决幻读问题中的应用,特别是在Repeatable Read隔离级别下。
摘要由CSDN通过智能技术生成

binlog三种方式

1.基于sql语句模式

 针对sql中有函数,存储过程的情况,同步会有问题;

2. 基于行模式;

3. 混合模式,sql语句和行的结合体;

mysql配置

查询最大连接数:

show variables like 'max_connections';

InnoDB知识点

锁分为表锁和行锁;

表锁有 S共享锁,X排它锁;  IS 意向共享锁,IX意向排它锁;

意向锁的设计目的,只是为了方便上层资源检查下层资源是否有被占用的加速设计,本身并不能增加并发度。

行锁有S共享锁,X排它锁;

MVCC 原理

如何解决幻读

用间隙锁 - Gap Locks
锁定一段范围内的索引记录,间隙锁锁住的是两个索引之间的区间;
当我们查询的记录不存在,没有命中任何一个 record,无论是用等值 查询还是范围查询的时候,它使用的都是间隙锁

间隙锁会锁住一个左开右开的区间;

间隙锁是为了解决幻读问题,是为了防止其他事务往索引间隙中插入数据,所以相同的间隙锁之间是不冲突的;
间隙锁只会阻塞插入操作;

间隙锁只存在RR隔离级别下;
 

参考:

MySql Innodb 锁_mysql not in 锁-CSDN博客

数据库基础(四)Innodb MVCC实现原理 - 知乎

MySql Innodb 锁_mysql not in 锁-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值