事务

作者: 山不转人自转 | 来源:发表于2020-12-14 19:33 被阅读0次

事务四大特性:

①.原子性:事务所有操作不可再分割,也就是“事务中所有操作要么全部执行成功,要么全部执行失败"。
②.一致性:事务执行后,数据库状态与其他业务规则保持一致,如转账业务,无论事务执行成功与否,参与转账打两个账户余额之和应该是不变的。
③.隔离性:是指并发操作中,不同事务应该隔离开来,使每个并发中的是事务不会相互干扰。
④.持久性:一旦事务提交成功,事务中所有的数据操作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,在数据库重启时,也必须保证通过某种机制恢复数据。

有account表:


image.png

update account set balance=balance+1100 where name='lucky';
update account set balance=balance-1100 where name='theme';

开始事务:start transaction;

结束事务:commit;

回滚事务:rollback;

*注意:所有的事务都是使用同一个connection对象!

并发事务的问题:

①,脏读:读取到另一个事务的未提交数据,称之为脏读(绝对不允许出现);
②,不可重复读:读取到两次数据不一致,因为另一个事务对该记录进行了修改;
③,幻读(虚读 ):对同一张表两次查询不一致,因为另一个事务插了一条数据。

事务的隔离级别:
SERIALIZABLE(串行化):没有并发问题,性能最差;

REPEATABLE READ(可重复读):处理脏读和不可重复读问题,没处理幻读,性能比SERIALIZABLE好一些;

READ COMMITTED(读已提交数据):处理脏读,不会处理不可重复读和幻读,性能比REPEATABLE READ好;

READ UNCOMMITTED(读未提交数据):啥也不处理,性能最好;

相关文章

  • 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/nxxjfctx.html