事务

作者: 简书徐小耳 | 来源:发表于2018-12-01 13:37 被阅读3次
事务四大特性

原子特性

一致性

隔离性

持久性

  • spring设置的事务隔离级别应该是针对的session
  • 隔离级别和自动提交都有session和global
innodb的事务隔离级别

read uncommitted
read repetable:满足ACID
read committed:不满足A
seriallize

  • 幻读强调的是查询之后,后续操作依照查询结果进行相应处理发现结果跟想象中不一致
  • 不可重复的强调的是我们读取的数据不一致了(偏向于记录被修改,我觉得也包含删除和新增记录)
事务的实现

redo :实现事务的原子和持久
undo:实现一致
隔离性 也可以依靠MVCC或者锁

  • redo 回复事务修改的页面,redo log是逻辑物理日志,因为不是纯物理日志。顺序写

  • undo 回滚到行记录的某个版本,逻辑日志 根据每行记录,需要进行随机读写

  • redo buffer 先写入文件系统缓存 在写入磁盘(即调用fsync),都是以512字节进行存储

  • 因为重做日志块和磁盘扇区的大小一样都是512B,因此写入是原子性。
    undo是逻辑日志,即修改一个页中的对应的逻辑日志,而不是把整个页的都物理回滚。undo主要是执行对应的相反操作,比如事务插入了数据 我们就删除,这样的好处就是防止这个页上还有其他事务的操作被物理回滚。

  • undo log 会产生redo log

  • purge 是专门处理undo 页和删除修改记录,当我们采用delete和update删除原有数据的时候 ,只是设置deleteflag=1 记录并没有删除

  • 因为要支持MVCC所以不能立马删除记录,当记录没有事务使用,则可以删除

spring的事务隔离级别和mysql的事务隔离级别
是一致的 同时还多了一个默认的 是根据数据库事务隔离级别进行设置spring事务

mysql的自动提交代表:这就表示除非显式地开始一个事务,否则每个查询都被当做一个单独的事务自动执行。我们可以通过设置autocommit的值改变是否是自动提交autocommit模式。

相关文章

  • java事务

    1、java事务介绍 2、JDBC事务 3、JTA事务 1、java事务介绍 java事务分类:JDBC事务、...

  • 事务、MySQL与Python交互、Python 中操作 MyS

    1、事务 事务操作分两种:自动事务(默认)、手动事务 手动事务的操作流程 开启事务:start transacti...

  • 数据库事务书目录

    数据库事务 事务概念 本地事务 全局事务 全局事务的定义 J2EE中全局事务的实现 全局事务的优缺点 基于消息的分...

  • MySQL事务

    MySQL-innodb-事务 事务的特性 事务的生命周期 失败的事务: 事务的控制语句 面试题 事务日志-red...

  • mysql事务隔离机制及其隔离级别、实现原理分析

    目录 事务特性ACID属性 并发事务带来的问题 事务隔离级别 事务实现原理 事务特性ACID属性 事务特性指的就是...

  • MULE事务配置

    在mule的事务可能为jdbc事务,jms事务,xa事务等,多种事务.这里讲解事务的几个动作: 相关的文档:htt...

  • 事务—事务模型

    程序猿基础知识的学习、理解、整理——事务(方方土) 事务,看似很简单,其实很复杂,作为一个程序猿,你对事务到底了解...

  • 事务—XA事务

    程序猿基础知识的学习、理解、整理——事务(方方土) 什么是XA事务?在什么场景下会出现XA事务? @Transac...

  • 事务—事务模式

    程序猿基础知识的学习、理解、整理——事务(方方土) 什么是事务模式?这里提到的事务模式,主要是指在系统设计过程中的...

  • JDK动态代理给Spring事务埋下的坑

    service 模拟动态代理事务 测试类 预测结果模拟事务:开启事务execute doLink模拟事务:关闭事务...

网友评论

      本文标题:事务

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