对事务的简单认识

很多时候,我们不能只确保一次执行一个事务,相反,在真实世界的复杂的数据库里,很可能很多事务并发运行。

 

ACID是描述事务的四个属性的首字母---
原子性(Atomicity):指事务是一个不可分割的工作单元,通常用于描述和定义事务
一致性(Consistency):事务必须从一致性到另一个一致性状态。
隔离性(Isolation):每个事务必须独立于其它事务执行。
持久性(Durability):它的输出是永久的,即使发生故障也不会对其有任何影响。

事务通过对特定的数据块加锁来申请对数据块的所有权。

锁限制对数据库对象的访问,而事务隔离级别指定激活的事务如何锁定它所作用的资源。

 

---------------从提供最佳性能到提供最佳保护排列如下:-----------------------

 

未提交读(Read Uncommitted)
能读到未提交的改变数据,产生赃读,破坏了ACID规则的隔离属性。

 

提交读(Read Committed)
不能防止不可重复读(两次读取的数据不一致,第一次读到是未更改的值,第二次读到的是提交后的值,产生不一致的现象),它只能锁定被更改的行。

 

可重复读(Repeatable Read)
同时防止赃读和不可重复读,会产生幻像。
在被事务读的行上加一个共享读锁,其它的只能读,不可更改,如要更改,
必须让当前事务执行完成才行。
产生幻像:当事务作用于某个表时,其它事务向该表添加新记录的情况。

 

可串行读(Serilizable Read)
确保事务如同连续运行一样,一次执行一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值