事务的特性
1 原子性:Atomicity 一个事务 要么完全提交 要么完全回滚,不会介于2者之间。
2 持久性:事务提交了,这次记录将永久的保存在数据库中
3 一致性:一个查询发起后,不管数据发生了多少变化 多少事务,查询结果应当为发起查询时间一致的数据
4 隔离型: 事务的隔离级别:
未提交读: (读到另一个事务未提交的信息)
产生的问题: 脏读
比如事务A在操作一个信息的同时,事务B操作了这条信息,而事务B还没有提交此次事务,也就是说,这个修改还没被确定,就被读取。
就比如你正在给其他人转钱,而还没确认在他人的账户上增加钱,你的钱就已经被转走了
已提交读:读到已提交的信息
产生的问题:不可重复读(删改导致的数据不一致)
可重复读:记录快照,在快照中查询值 ---- (行级锁)
产生的问题:幻读(insert)
事务1修改,事务2insert ,事务1 发现多了一些数据
序列化: 锁表:锁定事务A的表(锁表) ; 对性能消耗很大
具体理解例子见此博客
http://blog.csdn.net/fg2006/article/details/6937413