MySQL事务-特性、隔离级别

MySQL事务

简单来说事务就是要么全都成功,要么全部失败的一组语句
事务的四种隔离级别:读未提交(read committed)、读已提交(read uncommitted)、可重复读(repeatable read)、可串行化(serializable)
1.读未提交:两个事务同时操作一个表,其中一个事务修改了表中的数据并提交,另外一个事务数据在提交的前后都可以查看数据的更改,这个问题被称为脏读,解决脏读的方法就是将隔离级别变成读已提交
2.读已提交:同样是两个事务操作一个表,其中一个事务修改了数据并提交数据,但是另外一个事务只有在提交之后,才能看这个数据是否被修改,解决了脏读的问题,但是又出现了一个事务范围内,两个相同的查询却返回了不同的结果,就是不可重复读问题
3.可重复读:在开始查询的时候,不在允许事务修改,只有当我的查询结束,提交之后,才可以看到别的事务修改的结果,但是这个时候我已经把自己的事情完成了,但是这个如果针对的是update和delete,不针对insert,就产生了幻读问题
4.可序列化:可以解决脏读、不可重复读、幻读问题,但是效率低下,一般不使用
MySQL事务的特性:原子性、一致性、隔离性、持久性

1.原子性:事务是应用中最小的执行单位,不可再分
2.一致性:事务的状态只能由一个一致性到达另外一个一致性,那怕中间系统中断,也会一致
3.隔离性:各个事务的执行互不干扰
4.持久性:事务一旦提交,就会永久保存在数据库中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值