事务的隔离级别以及乐观锁,悲观锁

事务的隔离级别:

先说说 (通俗说) 

1. 脏读:是一个事务读取了  其他事务没有提交的数据。

2.不可重复度:就是第一次读和第二次读,两次读到的 数据不一致,原因是:在此期间有其他的事务修改了数据。

3.幻读:就是第一次读和第二次读,两次读到的 数据不一致,

原因是:在此期间有事务插入了新的数据(区别于不可重复读:不可重复读是  对于修改操作而言,幻读对插入造作而言)

事务的隔离级别有:read-uncommite(读没提交),read-commite(读已提交),none-repeatedRead(不可重复度),serializable(序列化,顺序化)

一般的  数据库都不存在  第一种read-uncommite的情况。


一般数据库都有自己默认的事务隔离级别;一般情况是  read-commite,这个解决了脏读的问题,并且效率高 。

人们为了让  数据库的效率高并且可以隔离级别高,就出来了  “乐观锁”和“悲观锁”的思想。


简单理解:乐观锁:当一个事务读取数据后,要进行操作,在操作前  为数据加一个版本信息(version),当在操作期间有其他事物对改数据进行了操作,那么版本信息就会变

化,这样当改事务执行结束后判断一下版本信息,如果没变,那么提交事务,如果改变了,那么重复执行上述操作---这就是乐观锁的思想,很多地方用到这个思想,比如安卓的

数据库sqlite就又到了version。

悲观锁是当一个事务对  数据进行操作的时候对数据加“锁”,在此事务没有提交之前,其他事务是不能操作该数据的,只有这个事务结束提交后,其他事物才能对它进行操作。


当然,很明显,乐观锁的性能要优于悲观锁。。。



写给有需要的人。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值