mysql事务高水位和低水位_【原创】想了解Mysql事务,知道这些就够了

Mysql事务:

1. 事务进行一次数据库操作时将数据会存到BufferPoll缓存池中

2. 数据存入缓存池后,Mysql会新建一个线程将数据存入到RedoLogBuffer中

3. 事务提交时RedoLogBuffer中的数据落盘到RedoLogFile中

4. 当服务器崩溃时没有Commit成功的数据都在RedoLogFile中了,未Commit成功的则直接返回给客户端失败信息,

服务器重启后从RedoLogFile中读取出已提交的数据恢复到数据库中

5. 缓存池中的数据根据CheckPoint则是刷新脏页到数据库,又称脏页落盘

事务特性(ACID)

原子性:一个事务中的所有操作要么全部成功,要么全部失败

一致性:事务的开始和结束,数据库的完整性不会被破环

持久性:事务提交后,对数据的修改是永久性的。

隔离性:不同事务之间互不影响,(多版本并发控制机制实现和锁机制)

事务并发出现的问题

①.更新丢失 两个事务同时对一条数据进行操作,eg.a事务将某字段从1000改为1100这是还未提交,

b事务将某字段从1000改为900且提交,这时a事务进行了提交操作。这时该字段的值为1100,b事务的更新丢失。(行锁机制可)

②.脏读 一个事务读取到另一事务还未提交的数据,eg.a事务查询账户余额为2000元,取出1000元,这时b事务开始:读取结果为1000

这是a事务又发生了回滚数据库数据又变成了2000;b事务却只读到1000。(锁机制可实现避免,a写操作b不可读(读写冲突))

③.不可重复读

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值