事务:事务的性质和事务的隔离级别

事务的性质:

原子性:事务开始执行后要么全部执行完,展现完成后状态,要么失败回到起始状态,是一个完成的体系,不可分割。

一致性:事物完成时,必须使得所有的数据保持一致状态(与开始事物前保持一致性)

(博客例子:数据库a b两个账号间转账,a转b100, a-100, b必须要+100 才能满足一致性,否则钱的总额发生变化不满足一致性)

隔离性:(自己理解:看不见过程,只能看到结果或起始,并且不会再中间停留,要么生要么死)事务查看数据时 ,数据所处的状态,要么是另外一个并发事务修改它之前的状态,要么是另外一个并发事务修改它之后的状态,事务不会查看中间状态------》》事务要么全部执行完,要么不执行

持久性:事务完成之后,他对系统的影响是永久的(执行了就执行了,没有撤回,,,即便是在数据库系统遇到故障的情况下也会继续提交事务的操作或者返回到起点

	理解事务时,可以依据银行转账的例子,在转账过程中,如果出现故障问题,用户的钱肯定不能丢失,《a转b,a钱减少了,b的钱没有增加,这样系统就崩溃了,所有要么强制执行完成,要么把钱退回给a》 充分理解事务的性质
事务的隔离级别:

脏读:在事务a执行过程中,读取了正在执行中还未提交的事务。

不可重复读:对于数据库中的某一数据,多次读取数据时,获取到的值不同

(在读取完一次数据时,某一事务修改了数据,再次读取时数据不一样!)

幻读:在执行事务操作中发现了没有执行此操作,却出现此结果。(

系统管理员a将所有数据值修改为1,在这过程中另外一个管理员b添加了一个数据,值为2,a执行完操作后发现有个一个数据值为2

个人理解的 不可重复读与幻读的区别
不可重复读:另外一个事务对数据的修改
幻读:另外一个事务对数据的添加或删除
可去找个博客了解(https://www.cnblogs.com/itcomputer/articles/5133254.html)

配置事务隔离级别:

1.(0001)读未提交:最低的隔离级别,三种都无法避免(最快的)

​2.(0010)读已提交:可避免脏读,不可避免,不可重复读,

​4.(0100)可重复读:可避免不可重复读,可以避免脏读(mysql默认采用可重复读)

​8.(1000)串行化:最强大的,三种都可解决(最慢的)

~~

以上为个人理解,如有异议和错误可评论修改

~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值