理解事务的4种隔离级别
事务 事务是访问数据库的一个操作序列 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。 事务的正确执行使得数据库从一种状态转换为另一种状态 。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)的缩写,这四种状态的意思是: 1、原子性 即不可分割,事务要么全部被执行,要么全部不执行。如果事务的所有子事务全部提交成功,则所有的数据库操作被提交,数据库状态发生变化;如果有子事务失败,则其他子事务的数据库操作则会被回滚,即数据库回到事务执行前的状态,不会发生状态转换。 2、一致性 事务的执行使得数据库从一种正确状态转换成另外一种正确状态。 3、隔离性。 在事务正确提交之前,不允许把事务对该数据的改变提供给任何其他事务,即在事务正确提交之前,它可能的结果不应该显示给其他事务。 4、持久性 事务正确提交之后,其结果将永远保存在数据库之中,即使在事务提交之后有了其他故障,事务的处理结果也会得到保存。 事务保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性。 事务并发操作带来的问题 1) 丢失更新 : 一个事务的更新覆盖了另一个事务的更新。 2) 脏读 : 一个事务读取了另一个事务未提交的数据。 3