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中,可以访问这个事务已经提交了可以访问,通过这个匹配规则就解决了 脏读的问题

相关推荐

09-09 18:14
门头沟学院 Java
0820一面项目:你的项目经验比较丰富,是实习项目还是学习项目?简单介绍一下你最值得说的一个项目。在项目开发中,你有没有遇到什么棘手的问题?你说到了对模型进行二次训练,当初有考虑过模型后训练这种方案么?你二次训练模型中构建的数据集,具体是怎么构建的?你在构建数据集的过程中,考虑到了哪些问题?你觉得在这个项目开发中,你最大的收获是什么?专业知识:用户在网页输入url,然后登陆系统进入个人中心,从客户端到服务器整个流程介绍一下。Java中的哈希函数你了解多少?如果让你去实现一个哈希函数,你该如何考虑?Java多线程threadpoolExcutor核心参数有哪些?实际开发中你如何设定核心线程数的?什么情况下会达到最大线程数?MySQL的索引有哪些种类?你说B+树索引有优势,优势在哪?你刚才说使用JWT构建token验证用户信息,那在分布式系统中如何实现?场景及手撕:来写几个MySQL语句吧。题目:给一个表table,字段有 student_id、subject_id、score;写出查询某个学生某个学科的成绩的SQL语句。写出查询某个学生的总分的SQL语句。对于上面两个SQL,从索引角度你该如何优化查询?MySQL中的DROP、DELETE、TRUNCATE三者区别是什么?峰值查找,给定一个数组,查找峰值数字的下标,使用logn时间复杂度。0825二面自我介绍拷打项目:各个项目的时间节点具体讲讲某个项目详细内容讲讲这个项目的难点八股:讲一讲TCP拥塞控制ICMP协议讲一下讲讲Java中的继承和接口的区别Java17新特性了解哪些线程池中,submit和excute的区别有哪些我看你有大模型使用经验,介绍一下transformerMySQL中的存储引擎介绍一下覆盖索引讲讲索引最左匹配原则了解么Redis实现找出前十名成员用什么数据结构比较合适Redis主从模式了解多少介绍一下springbootbean的作用域有哪些RPC了解么,介绍一下RPC序列化敲代码:写一下工厂模式结构吧写一个SQL查询吧(使用select、where、group by、having、count等完成查询)聊天:你认为自己是个什么样的人你觉得别人对你的评价如何你平时有没有学习哪些新知识你有没有对学习的知识进行系统性地整理和总结你的个人职业规划是什么样的反问:后续流程如能进入需要提升哪些方面0901 录用意向书
点赞 评论 收藏
分享
08-31 10:57
门头沟学院 Java
投递阿里巴巴灵犀互娱等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务