MySQL-事务及隔离级别-小小总结

事务及隔离级别

1.事务

1.1事务的ACID属性

  • 原子性(Atomicity): 一个事务中的操作要求要么全部执 行,要么全部不执行.

  • 一致性(Consistency): 在外部看来,数据库中的数据总 是正确的.

  • 隔离性(Isolation): 尽管多个事务在并发执行,但从外 部看来,具有多个事务串行执行的效果.

  • 持久性(Durability):一个事务一旦提交了,即使随后发 生故障,其结果在数据库中不会丢失.

2.隔离级别

2.1四种隔离级别

  • 读未提交、读提交、可重复读、串行化
  • 读未提交(Read-uncommitted):一个事务还没提交时,它做的变更就能被别的事务看到。
  • 读提交(Read-committed):一个事务提交之后,它做的变更才会被其他事务看到。
  • 可重复读(Repeatable-read):一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。当然未提交变更对其他事务也是不可见的。
  • 串行化(Serializable):对于同一行记录,“写”会加写锁,读会加“读锁”,当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。

2.2事务的并发问题

  • 脏读(dirty read):如果一个事务读到了另一个未提交事务修改过的数据。

    事务A 事务B
    事务开始 余额100元
    事务开始
    存入100元
    查询余额为200元
    提交事务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值