面试必问:mysql四种事物隔离级别解读
2023-09-11 14:17:00 时间
文章目录
上一篇文章我们说了四种并发的问题:脏写,脏读,不可重复读,幻读。
今天这篇文章就来讲一下mysql是怎么样解决这四个问题的,也就是我们在面试和开发中常常用到的mysql的四种事物隔离级别。
这四种隔离级别分别是:
(1)Read Uncommitted(读取未提交内容)
见名知意,这个的意思就是能够读取到未提交的内容,也就是我们说的脏读,不可重复读,幻读他都不能解决,但是脏写的问题是所有事物隔离级别都解决了的,这里不再列举。
(2)Read Committed(读取提交内容)
见名知意,这个的意识就是只能读取到已经提及过的内容,也就是commit之后的内容,这个的目的就是为了解决脏读的可能性,就像我们上面的图中所说到的一样。
(3)Repeatable Read(可重读)
见名知意,可重复读就是为了解决不可重复读的问题的,关于什么叫不可重复读可以参考我上一篇文章,里面已经写的很详细了,这里就不一一赘述。
脏写,脏读,不可重复读,幻读超级详细解读
(4)Serializable(可串行化)
可串行话的目的就是为了解决幻读的可能性,这里面很复杂,用到了锁的知识,而且听名字就知道,串行加上锁,意味着他的性能是四种隔离基本中最低的,所以mysql的默认隔离级别就是Repeatable Read(可重读)
我们可以用命令行看一下:
show variables like 'transaction_isolation';
相关文章
- (转)Amoeba for MySQL 非常好用的mysql集群软件
- 【MySQL高级】MySql中常用工具及Mysql 日志
- 关于Mysql 查询所有表的实时记录用于对比2个MySQL 库的数据是否异步
- 5项优化4种高可用方案,MySQL常用架构调优这样做!
- MYSQL round()函数
- Brew 卸载MySql以及安装Mysql
- 《面试八股文》之 MySql 35卷
- 【MySQL进阶-09】深入理解mysql执行的底层机制
- 【MySQL进阶-02】mysql的explain执行计划以及索引优化
- 使用 MySQL 管理层次结构的数据
- MySQL mysqldump备份数据库及恢复数据库(mysql命令)
- MySQL知识点小结
- 【mysql问题】解决2003-Can‘t connect to MySQL server on ‘ ‘(10060“Unknown error“)
- MySQL 索引与查询优化
- 配置新服务器 的一些 依赖库 php mysql nginx
- 查看MYSQL数据库中所有用户及拥有权限
- MySQL · 源码分析 · InnoDB 异步IO工作流程
- mysql窗口函数、Mysql分析函数
- 【MySQL】实验三 连接查询
- 【MySQL】常用语句
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动
- MySQL 跟已存在的字段添加自增长属性
- [Mysql] 分页查询