事务

作者: 柴不驼 | 来源:发表于2017-08-09 22:28 被阅读0次

1.逻辑上的一组操作,组成它的各个单元要么全成功,要么全失败。

2.数据库DTL语言:

start transaction开启事务

rollback回滚

commit提交

在start transaction和rollback或commit之间的语句,是在内存中运行的,并没有存盘,数据库中的数据不生变化。直到commit命令执行之后,操作才会在表上显示出来。一旦某一条语句执行失败,就会执行rollback命令,之前执行没失败的操作也全部作废。

3.事务的特性:

原子性:指事是个不可分割的工作单元,事务中的操作要么都成功,要么都失败。

一致型:事务必须使数据库从一个一致状态变到另一个一致状态。例如:转账前后总金额一致。

隔离性:多个用户并发访问数据库时,数据库为每一个用户开启的事务不能被其他事务的操作所干扰。多个并发事务之间要相互隔离。

持久性:事务一旦被提交,对数据库中数据的改变是永久性的,接下来即便数据库发生故障也不会对该操作有任何影响。

4.事务的隔离级别

赃读:一个事务读取到了另外一个事务未提交的数据。

不可重复读:在一个事务哪读取到表中的某一条记录,多次读取结果不同。(update)

虚读(幻读):在一个事务内读取到了别的事务插入读数据。(insert)

为了避免以上情况的发生,设置事务的隔离级别。

*1.READ UNCOMMITTED 三种都有可能发生

*2.READ COMMITTED  避免赃读  (oracle默认)

*4.REPEATABLE  READ  虚读有可能发生  (mysql默认)

*8.SERIALIZABLE  避免三种

级别越高,性能越低,数据越安全。用哪一种取决于数据库的访问量。实际开发中,用中间的两种。

5.JDBC对隔离级别的设置:

在开启事务之前设置。

相关文章

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