mysql隔离特性

mysql隔离特性 (ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))

事务并发问题:
  1. 第一类丢失更新(lost update): 在完全未隔离事务的情况下,两个事物更新同一条数据资源,某一事物异常终止,回滚造成第一个完成的更新也同时丢失 。
  2. 脏读(dirty read):如果第二个事务查询到第一个事务还未提交的更新数据,形成脏读。
  3. 虚读(phantom read):一个事务执行两次查询,第二次查询比第一次多出或少一些数据,造成两次结果不一致。只是另一个事务在这两次查询中间插入或者 删除了数据造成的。
  4. 不可重复读(unrepeated read):一个事务两次读取同一行数据,结果得到不同状态结果,如中间正好另一个事务更新了该数据,两次结果相异,不可信任 。
  5. 第二类丢失更新(second lost updates):是不可重复读的特殊情况,如果两个事务都读取同一行,然后两个都进行写操作,并提交,第一个事务所做的改变就会丢失。

为了解决数据库事务并发运行时的各种问题数据库系统提供四种事务隔离级别:
  1. Serializable 串行化
  2. Repeatable Read 可重复读(mysql默认)
  3. Read Commited 可读已提交
  4. Read Uncommited 可读未提交

打赏 支付宝打赏 微信打赏

未经允许不得转载!

评论列表 0

访客
取消