一、事务的四大特性:
1)原子性(Atomicity):不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态
2)一致性(Consistency):
3)隔离性(Isolation):事务操作之间彼此之间相互独立和透明互不影响。事务的独立运行,通常需要用锁来实现。一个事务处理的后果,如果影响了其他事务,那么其他事务就会撤回。事务的100%隔离,需要牺牲速度
4)持久性(Durability):
对于事务的ACID四大特性的理解,以从A账户转账50元到B账户为例进行说明
1、根据定义,原子性是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做。即要么转账成功,要么转账失败,是不存在中间的状态!
如果无法保证原子性会怎么样?OK,就会出现数据不一致的情形,A账户减去50元,而B账户增加50元操作失败。系统将无故丢失50元。·
2、隔离性是指多个事务并发执行的时候,事务内部的操作与其他事务是隔离的,并发执行的各个事务之间不能互相干扰。如果无法保证隔离性会怎么样?
OK,假设A账户有200元,B账户0元。A账户往B账户转账两次,金额为50元,分别在两个事务中执行。如果无法保证隔离性,会出现下面的情形