- 博客(29)
- 收藏
- 关注
原创 Mysql八股文(四)MVCC
当前值是 4,但是在查询这条记录的时候,不同时刻启动的事务会有不同的 read-view。如图中看到的,在视图 A、B、C 里面,这一个记录的值分别是 1、2、4,同一条记录在系统中可以存在多个版本,就是数据库的多版本并发控制(MVCC)。对于 read-view A,要得到 1,就必须将当前值依次执行图中所有的回滚操作得到。多版本并发控制(MVCC)
2024-03-13 16:59:06 395 1
原创 Mysql八股文(三)事务隔离
3)可重复读(mysql默认的隔离级别):一个事务在执行过程中看到的数据,总跟在事务启动时看到的数据是一致的。1)读未提交:一个事务还没有提交时,它做的变更就可以被另一个事务看到。2)读提交:一个事务提交之后,它的变更才会被其他事务看到。4)串行化:写会加写锁,读会加读锁。导致问题:不可重复读。导致问题:效率低下。
2024-03-13 16:55:32 344
原创 Mysql八股文(二)两阶段提交
因此,之后备份日志的时候,存起来的 binlog 里面就没有这条语句。然后你会发现,如果需要用这个 binlog 来恢复临时库的话,由于这个语句的 binlog 丢失,这个临时库就会少了这一次更新,恢复出来的这一行 c 的值就是 0,与原库的值不同。如果在 binlog 写完之后 crash,由于 redo log 还没写,崩溃恢复以后这个事务无效,所以这一行 c 的值是 0。所以,在之后用 binlog 来恢复的时候就多了一个事务出来,恢复出来的这一行 c 的值就是 1,与原库的值不同。
2024-03-13 16:11:02 377
原创 Mysql八股(一)redolog和binlog的区别
2)redolog是物理日志,记录了是修改了什么;binlog是逻辑日志,记录的是原始语句。3)redolog有大小限制,是循环写;binlog是追加写,写到一定大小会再开一个接着写。1)redolog是innodb引擎持有的;binlog是server层的,都可以使用。
2024-03-13 15:52:13 402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人