事务在所有的关系型数据库中都是一个非常非常非非常常重要的概念。
1.什么是事务
2.事务的acid属性
参见http://docs.oracle.com/database/121/CNCPT/transact.htm#CNCPT016
3.为什么会有事务隔离
由于数据库是多用户的,多用户同时使用数据库就会产生如下几个问题。
a.不可重复读(Nonrepeatable (fuzzy) reads)
不可重复读就是如果如果小明经理在涨工资之前习惯性的看一下小明工资,第一次看是1500,经理觉得有点低,然后公司工资普调了并提交到数据库,这个时候,小明经理想再次确认一下小明工资(假定这次确认和之前的查看在同一个事务中),如果经理确认的时候查看到小明的工资是2000。那么这个就是不可重复度。
b.幻读(Phantom reads)
人事部第一次查询公司有1000人,接着有一个新同事入职了,然后人事部再次查询(假定与第一次查询同属一个事务),结果返回的和上一次不一样,变成了