我对数据库这块了解不深,这两者意思是蛮相近的感觉有必要了解透彻些,为此也查了好几篇其他人的文章。
首先谈谈事务(transaction)
以下都是个人理解,如有错误望海涵与指明
事务有4个特性
- A(Atomic) 原子性:事务是一系列指令动作的集合,这一系列指令要么全完成,要么全都不完成。也就是说如果执行到某一指令时出现异常,会回滚到最初的状态。这些指令是不可分割的,像原子一样。
- C(Consistence)一致性:其实事务的隔离性保证了事务的一致性。在一个事务中,数据库中的数据是不会突然因为另一个事务的某些指令而变化的。也就保证了数据的一致性。
- I(Isolation)隔离性:事务之间应当是互不影响的,当两个事务并发执行时,一个事务的改变不应当对另一个事务产生影响。
- D(Durability)持久性:事务完成后所产生的结果在数据库中是有持久性的。也就是说一个事务结束了,对数据库CRUD了,数据库变了就是变了,不会再过阵子回滚成原来的样子。
本文的重点是RR与PR
RR(Repeatable read)
RR是数据库隔离级别中的第3级。 数据库中隔离级别一共有4级
先简单说下4个隔离级别:
- Read Uncommitted: