ACID

ACID是事务的四大特性,想要成为事务,必须具备这四点。

Atomicity

原子性体现在对于一个事务来讲,要么一起执行成功要么一起失败,执行的过程中是不能被打断或者执行其他操作的。

Consistency

一致性表现为事务进行过后和执行前,整体系统都是稳定的,比如对于入账出账操作是不会有总资金的变化的。

Isolation

隔离性表示各个事务之间不会互相影响,数据库一般会提供多种级别的隔离。实际上多个事务是并发执行的,但是他们之间不会互相影响。

Durability

持久性表示一旦一个事务成功了,那么他的改变是永久性的被记录和操作。


脏读

数据在读取数据的时候读到了其他事务正在进行修改的数据,其他的事务修改数据后又对它进行了其他操作或回滚了,这样读取的那个数据是错误的。

不可重复读

在一个事务中反复读取一个数据时读到了不同的数据,因为在读取的过程中其他的事务对其进行了修改并提交了。

幻读

第二个事务插入或删除一条数据,这个数据本应该是第一个事务读取到的,但是因为第二个事务紧接着第一个事务完成后才完成,导致了第一个事务没有读到这一条,好像出错了一样。


如何避免上述三种问题?

数据库提供了四种级别的事务隔离,来保证不同的效果。数据库锁是为了构建这些隔离级别存在的。

序号

隔离级别

可避免情况

1

串行化

脏读、不可重复读、幻读

2

可重复读

脏读、不可重复读

3

读已提交

脏读

4

读未提交

MySQL默认为可重复读级别,这四种方法从上到下效率和吞吐量越来越高。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值