数据库事务ACID,及事务的隔离级别,脏读,幻读

原子性:整个事务中的所有操作要么全部完成,要么全部不完成,不能停滞在中间某个环节

一致性:事务前后数据库的完整性约束没有被破坏

隔离性:多个事务之间是互不干扰的,一个事务不可能看到其它事务中间某一时刻的数据

持久性:事务对数据库的操作更改是持久的,不会被回滚

四种事务隔离级别:

读未提交:读取其他事务没有提交的数据(脏读,幻读,不可重复读,避免了第一类更新丢失)

读已提交:读已提交的数据(出现不可重复读,幻读)

可重复读:同一事务多次读取时能够保证所读取的数据一样,后续读取不能读到另一个事务已经提交的数据(会出现幻读)

串行读取:一个事务接一个事务串行执行

 

名词解释:

更新丢失:每个事务不知道其它是无的操作,后面的事务对数据做修改导致前面事务所做的数据修改丢失

解决办法:对行加锁,只允许一个更新事务。

脏读:读取到其它事务没有提交的数据

幻读:一个事务对数据库中所有数据做了修改,这时新插入一条数据,并提交,这时在读取一次后面插入的数据被读出,给人感觉有一条数据没有被修改

不可重复的:一个事务多次读取的数据结果不一样

解决办法:只有在事务已提交后才允许读取这条数据则可避免该问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值