码迷,mamicode.com
首页 > 数据库 > 详细

ACID、数据库隔离级别

时间:2018-09-16 16:03:17      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:事物   atomic   范围   不执行   style   round   数据库   同步   永久   

ACID

  A(Atomicity):原子性,要么全部执行,要么都不执行

  C(consistency):一致性:

    特点:

      1、一个操作除法级联,这些必须成功,否则全部失败(原子性)

      2、所有节点同步更新

      3、串行事物

  I(Isolation):隔离性 ---> 乐观锁或悲观锁实现

  D(durablity):持久性 ---> 事物一旦提交,则该提交是永久的

 

脏读

  一个数据读取到了另一个没有提交的数据

 

幻读

  这个名字我觉得起的真形象-。-,也就是察觉不了新增删除,读两次,得到的数据条数不一样

  事物A在遍历的时候,B插入一条数据,然后A发现咋还有一个数据没读到,其实是B插进去的,删除也一样

  避免?

    采用范围锁RangeS RangeS_S模式,锁定检索范围为只读

 

不可重复读

  和幻读不一样,幻读是针对数据条数,不可重复读是针对数据的修改

  A第一次读取到数据,B做了修改,A第二次读取数据,发现数据不匹配

 

隔离级别:

  1、读未提交:没有提交的事物也可见

  2、提交读:大部分都是这个,只能看到提交的

  3、可重复读:避免脏读,但是不能避免幻读

  4、串行化:都可以避免,加了大量的锁,效率很低啦

ACID、数据库隔离级别

标签:事物   atomic   范围   不执行   style   round   数据库   同步   永久   

原文地址:https://www.cnblogs.com/ccxka/p/9655720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!