(1)事务特性
①原子性(Atomicity):事务的中的操作要么全部成功要么全部失败
②一致性(Consistency):事务必须使数据库从一个一致性状态到另一个一致性状态,例:A和B一起来有5000块,无论两者之间如何转账最后总量都必须为5000
③隔离性(Isolation):同时开启的两个事务之间互不干扰
④持久性(Durability):指一个事务一旦提交,那么对数据库的保存都是以永久的
(2)事务并发问题
①脏读:一个事务读取过程中,读取到了另一个事务未提交的数据
②不可重复读:一个事务内多次查询同一数据却返回了不同的值,这是因为在查询间隔,数据被另一个数据修改并提交了.
③虚读|幻读:例事务A删除了表中的全部数据的同时事务B在表中又插了一条数据,当操作事务A 的用户再查看时发现库里还有条数据,就像产生了幻觉一样
注: 幻读和不可重复读都是读取了另一条已经提交的事务,不同的是不可重复读查询的都是同一个数据项,而幻读针对的是一批数据整体(比如数据的个数)
(3)事务的隔离级别
①读未提交(read uncommited):最低级别,事务并发(①②③)都可能发生
②读已提交(read commited):可避免脏读的发生,事务并发(②③)可能发生
③可重复度(repeatable read):可避免脏读和不可重复读,事务并发(③)可能发生
④串行化(serialiable):事务排队一个接着一个进行,可避免事务并发问题