美文网首页
事务四大特性ACID+Mysql隔离级别

事务四大特性ACID+Mysql隔离级别

作者: entro | 来源:发表于2019-03-01 20:02 被阅读0次

一、事务

[TOC]

1.1 事务四大特性 ACID:原子性 一致性 隔离性 持久性
1.1.1 原子性 Atomicity

保证事务内所有操作要都成功,要么都失败。

1.1.2 一致性 Consistency

事务开始和结束之间的中间状态不会被其他事务看到

1.1.3 隔离性 Isolation

适当的破坏一致性来提升性能与并行度 例如:最终一致~=读未提交。

1.1.4 持久性 Durability

每一次的事务提交后就会保证不会丢失

1.2 数据隔离级别:未提交读 提交读 可重复读 可串行化

级别越高,问题越少,但是性能越差。

  1. 脏读 读到未提交的事务。在事务回滚的时候产生脏读
  2. 不可重复读 执行过程比较长,先读到事务未修改的数据,后读到事务修改后的数据。
  3. 幻读 执行过程较长, 两种情况:先读有,后去读没有;先读没有,后读有。(事务插入或者删除了数据)
  • InnoDB的MVCC多版本并发控制 通过对每条数据加上版本号 配合间隙锁部分解决了幻读问题。
  • 当事务A去修改事务B已经提交的数据的时候还是会产生幻读。
隔离级别 脏读 不可重复读 幻读
Read Uncommitted
Read committed -
Repeatable read - -
Serializable - - -
1.2.1 Read Uncommitted 读到未提交的内容

会产生脏读,不可重复读,幻读

1.2.2 Read Committed 读到提交的内容

产生不可重复度和幻读

1.2.2 Repeatable read 可重复读

默认级别,innodb的MVCC配合间隙锁部分解决幻读。不能解决的部分幻读是当事务A去修改事务B已经提交的数据的时候还是会产生幻读。

1.2.2 Serializable 可串行化

完全解决幻读只能串行化。

相关文章

  • 数据库事务的四大特性以及事务的隔离级别

    数据库事务的四大特性以及事务的隔离级别

  • 事务四大特性ACID+Mysql隔离级别

    一、事务 [TOC] 1.1 事务四大特性 ACID:原子性 一致性 隔离性 持久性 1.1.1 原子性 Atom...

  • 事务

    事务四大特性 原子特性 一致性 隔离性 持久性 spring设置的事务隔离级别应该是针对的session 隔离级别...

  • mysql知识点总结

    mysql事务 什么是事务 事务的四大特性 事务的隔离级别 脏读,不可重复读,幻读分别是什么 隔离级别脏读不可重复...

  • 3、事务

    事务具有四大特性:原子性、一致性、隔离性、持久性;两大属性:隔离级别、传播行为。1、事务四大特性数据库如果支持事务...

  • Mysql 面试题

    1.什么Mysql的事务?事务的四大特性?事务带来的什么问题? Mysql中事务的隔离级别分为四大等级:读未提交(...

  • Spring 中的事务隔离级别

    什么是事务隔离级别? 事务隔离级别是对事务 4 大特性中隔离性的具体体现,使用事务隔离级别可以控制并发事务在同时执...

  • Mybatis:颠覆你心中对事务的理解

    1.说到数据库事务,人们脑海里自然不自然的就会浮现出事务的四大特性、四大隔离级别、七大传播特性。 四大还好说,问题...

  • Mysql事务

    1) mysql事务的ACID特性 2)MySQL事务隔离级别

  • 事务管理

    事务:四大特性(ACID):原子性、一致性、隔离性、持久性。 隔离四个级别: READ_UNCOMMITTED(读...

网友评论

      本文标题:事务四大特性ACID+Mysql隔离级别

      本文链接:https://www.haomeiwen.com/subject/gmzwyqtx.html