MySQL的事务

目录

1.事务

2.事务的ACID特性

3.事务的并发

4.脏读

5.不可重复读

6.幻读

7.解决并发事务问题的方法


1.事务

数据库中执行语句的一种缓存机制,必须执行语句全部通过后才能操作成功

        简单地说:就是操作要么全部执行成功,要么全部执行不成功

2.事务的ACID特性

Atomicity-原子性:事务是一个不可分割的工作单位,事务中的操作要么都执行,要么都不执行

Consistency-一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态

Isolation-隔离性:事务的隔离性指事务并发执行时,不会被其他事务干扰

Durability-持久性:一个事务一旦被提交,它对数据库数据的改变就是永久性的
 

3.事务的并发

概念:多个事务并发运行时,多个线程操作相同的数据

并发事务的问题:脏读、不可重复读、幻读

4.脏读

发生场景:事务A操作了数据但未提交,其他事务如事务B拿到操作后的数据处理;如果事务A回滚,事务B拿到的操作后的数据就叫做脏数据

5.不可重复读

发生场景:事务A多次读取一个数据,同时事务B也操作该数据;若事务A第一次读取数据后,事务B对该数据进行了修改,那么事务A第二次读取到的数据就和第一次读取数据不同。这就叫做不可重复读

6.幻读

发生场景:在进行多条查询时,事务A读取了几行数据,事务B此时插入了一些数据,事务A再次读取时会读取到第一次不存在的记录。这种像发生了幻觉一样的查询方式就叫做幻读

7.解决并发事务问题的方法

解决方法:使用读写锁

读写锁只能够知道读操作的并发执行,无法对写操作并发执行,即读操作使用共享锁,写操作时使用独占锁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值