关注
mysql事务的四大特性
11、事物的隔离性是如何实现的
12、MVCC
13、如果在读已提交的事物隔离级别下,是否会用到MVCC,为什么
事务的四大特性ACID 原子性一致性隔离性持久性 首先原子性主要指一个事务内所有操作要么全都执行全都全都回滚,底层是通过undolog版本链来实现的,持久性主要是指在事务提交回滚的时候对数据修改是永久的,主要是通过redolog来实现的,主要是用在脏页刷盘到磁盘的时候,如果出现故障,可以使用redolog来进行数据恢复,一致性是通过redolog和undolog来共同保证的,隔离性主要是指事务的隔离性,对于并发事务来说有三种情况 读读 这种并发事务不会出现问题 读写 一个事务写 另外一个事务在写之前读和写之后读就会出现问题,比如:脏读幻读不可重复读以及事务同时写隔离性的问题,还有就是写写可能会出现数据丢失,nysql的隔离性是通过mvcc+锁来共同实现的,mvcc也叫作多版本并发事务,主要是用来实现并发事务的非阻塞读的功能的,通过这种方式可以大大提高我们并发事务读写的性能,里面有两个核心一个是快照读当前读以及我们的隐藏字段事务id回滚指针 undolog版本链,所谓当前读就是使用加锁的机制,来读取到最新的数据,因为他加锁了索引性能不是很高,比如select for update update等,第二种是快照读,会根据undolog版本链相关规则进行匹配生成一个数据的快照,从而实现并发读,在不同隔离级别下实现方式不同,比如rc隔离级别,每次select都会生成一个新的快照,如果中间有事务更改数据并叫了,第二次select就会导致不可重复读的问题,在rr隔离级别下,只有第一次读的时候会生成快照,以后就复用,就实现了可重复读的功能,对应快照具体的匹配规则就是 如果当前查询的事务id=数据影藏字段中的trxid说明是当前事务修改了数据,可以读到,如果不是则会沿着版本链继续向下进行判断,比如:事务id是否小于最小活跃事务id,说明已经提交了,事务id是否》最大活跃事务id说明快照是在事务开启前创建的,如果事务id在最小活跃事务id和最大活跃事务id之间,并且对应事务id不在存活事务id中,可以访问这个事务已经提交了可以访问,通过这个匹配规则就解决了 脏读的问题
查看原帖
3 评论
相关推荐
05-05 17:44
门头沟学院 前端工程师 点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 6月18日,我将站上法庭,正式起诉美团。我送出的每一单快件,都是我人生碎片的一部分。我会一直前进,拿回在海外SaaS失去的一切。4.8W
- 2... 这b学校一天天的不想着提高就业率就算了还拖累学生是吧?1.8W
- 3... 研一快手后端开发,一周速通,附一二面面经1.4W
- 4... 25校招 双非硕 拿下大厂🐧8671
- 5... 运气远大于努力?6970
- 6... 毕业一年在回到学校的感觉真不一样5854
- 7... 挚文集团-陌陌笔试202506065256
- 8... 主包租房的经验总结!4557
- 9... 小米一面4039
- 10... 深入浅出秋招简历3703
正在热议
更多
# 实习吐槽大会 #
43532次浏览 197人参与
# 产品实习,你更倾向大公司or小公司 #
150286次浏览 1929人参与
# 我的实习收获 #
37077次浏览 545人参与
# 现在还是0offer,延毕还是备考 #
1030083次浏览 7546人参与
# 晒一晒你的工位 #
88160次浏览 312人参与
# 得物求职进展汇总 #
95941次浏览 802人参与
# 硬件兄弟们 甩出你的华为奖状 #
103651次浏览 685人参与
# 来聊聊你目前的求职进展 #
626953次浏览 6725人参与
# 我的租房踩坑经历 #
37466次浏览 359人参与
# 26届秋招投递记录 #
5752次浏览 150人参与
# 为什么国企只招应届生 #
172462次浏览 1140人参与
# 移动求职进展汇总 #
1757次浏览 19人参与
# 工作中,努力重要还是选择重要? #
122227次浏览 1528人参与
# 双非能在秋招上岸吗? #
215586次浏览 1150人参与
# 如何看待offer收割机的行为 #
776854次浏览 6019人参与
# 穿越回高考你还会选现在的专业吗 #
26462次浏览 294人参与
# 求职遇到的搞笑事件 #
113937次浏览 775人参与
# 我和mentor的爱恨情仇 #
45739次浏览 287人参与
# 互联网回暖,腾讯要招5000人! #
17047次浏览 556人参与
# 找工作有哪些冷知识 #
99655次浏览 1423人参与