数据库隔离级别详解

数据库隔离级别种类:

读未提交(会产生脏读、不可重复读、幻读)、

读已提交(会产生不可重复读、幻读)、

可重复读(可能会有幻读)、

串行化(最安全的)

数据库每种隔离级别中可能产生的问题:

脏读:事务读到了不属于自己的数据

不可重复读:对于同一条数据库数据,同一个事务内两次读的结果不一致

幻读:是指同一个事务内两次读取到的结果数量不一致

详解:

读未提交:如果事务A进行了写操作,那么事务B就不能进行写操作,但是
		可以读取此行数据,数据库通过“排他写锁”实现。就是事务B可以读
		取事务A未提交的数据。

读已提交:如果事务A是一个读操作,那么事务B是允许进行读写的,如果
		事务A是一个写操作,那么其他事务就不能对该行数据进行任何操
		作。当事务A第一次读取数据后,由于事务B可以进行读写,事务B读
		数据进行了修改,那事务A再次读取时,数据就发生了变化,出现了
		不可重复读,也会出现幻读。

可重复读:意思是在一个事务内,多次读取同一个数据,结果都是一样
		的。事务A如果是读操作,其他事务就不能对该行数据进行update操
		作,但是可以读。这样就避免了出现不可重复读的情况,因为该情况
		正是因为两次读取间数据被修改。但是不可避免幻读,因为幻读是
		insert或者delete操作产生的。

串行化:所有事务排队执行。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值