事务

事务的概念

逻辑上的一组操作,组成着个逻辑操作的逻辑单元,要么一起成功,要么一起失败。

事务四大特性

原子性:事务是不可分割的
隔离性:一个事务的执行不受其他事务干扰
一致性:数据完整性应在事务执行前后保持一致
持久性:事务结束后就持久的保存在数据库

不考虑隔离性引发的安全问题

脏读:一个事务读到了另一个事务的未提交数据
不可重复读:一个事务读到另一个事务已提交的更新数据(update)而导致多次的查询结果不一致
虚读(幻读):一个事务读到另一个事务已提交的插入数据(insert)导致多次查询结果不一致
关系和联系:幻读和不可重复读都是读取了另一条已经提交的事务(这点就脏读不同),所不同的是不可重复读查询的都是同一个数据项,而幻读针对的是一批数据整体(比如数据的个数)。简单的说就是update和inset之间的关系。

四种隔离级别

① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。

② Repeatable read (可重复读):可避免脏读、不可重复读的发生。

③ Read committed (读已提交):可避免脏读的发生。

④ Read uncommitted (读未提交):最低级别,任何情况都无法保证。

在MySQL数据库中,支持上面四种隔离级别,默认的为Repeatable read (可重复读);而在Oracle数据库中,只支持Serializable (串行化)级别和Read committed (读已提交)这两种级别,其中默认的为Read committed级别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值