热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

数据库的事务和隔离级别

事务的基本特性原子性,都做或者都不做一致性,从一个状态装换到另一个状态隔离性,一个事物执行不能被其他事物干扰持久性,事务提

事务的基本特性


  • 原子性,都做或者都不做
  • 一致性,从一个状态装换到另一个状态
  • 隔离性,一个事物执行不能被其他事物干扰
  • 持久性,事务提交后不能更改

事务的隔离级别


  • 未提交读:一个事务内部所有的操作过程,对外都是可见的。

    A ---x-----------x_a1-----------x_a2---------x_a3------>commit
    B----x----x_b1-------->x_b2---------->x_b3----------->commit
    则A事务的中,x_a1会读到x_b1的内容,其余的以此类推,这些都是脏数据,即脏读

  • 提交读:一个事务内部所有操作对外都不可见,之后执行前和执行后是可见的。(仍然无法避免脏读)

    A ---x-----------x---------------x--------------------------x_a3------>commit
    B----x----x_b1-------->x_b2------->x_b3----->commit
    A中的事务,在B没有执行完成时,都是读的原来的内容,之后提交了,x_a3就是读的提交后的内容了,原来的x也是脏数据。

  • 可重复读:一个事务在读数据时,其他事务不能对该数据进行改变操作
    上面的A事务读x,则B只能读x,不能写,因此避免了脏数据。
    幻读:如果B在A操作的区间内插入数据,则A在执行事务完成后,才会发现这一行数据,这就是幻读,如果执行区间计数操作,可能不准。
  • 串行化:所有的事务都是传行的,失去了并发的意义

推荐阅读
  • 在MySQL中的行级锁、表级锁和页级锁中,咱们介绍过,行级锁是MySQL中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的 ... [详细]
  • Java开发框架!Alibaba高并发业务秒杀系统落地实战文档,砥砺前行!
    接口概述:接口是Java语言中的一种引用类型,是方法的集合,所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK ... [详细]
  • 摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者正在工作的 ... [详细]
  • DDOSDDOS的中文名叫分布式拒绝服务***,俗称洪水***DDoS***概念DoS的***方式有很多种,最基本的DoS***就是利用合理的服务请求来 ... [详细]
  • insert into select 主键自增_为什么 MySQL 的自增主键不单调也不连续
    为什么这么设计(Why’sTHEDesign)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问 ... [详细]
  • 目录结构如下:Nginx基础知识NginxHTTP服务器的特色及优点Nginx的主要企业功能Nginx作为web服务器的主要应用场景包括:Nginx的安装安装环境 ... [详细]
  • 接口自动化相关面试题
    你好,我是懂Java的测试最近辅导简历,有同学向我反馈,自学过接口自动化、没有落地接口自动化项目办?还有很多同学落地实践过自 ... [详细]
  • 超赞!GitHub上百万下载量Java面试手册!颠覆你的认知
    金三面试不顺心,马上银四面试在即,自己复盘总觉得Java知识点很凌乱?没有合适的方法学习!今天分享这份GitHub上百万下载量Ja ... [详细]
  • lora物联网开发教程(物联网lora特点)
    长距离星型架构,由于长距离连接性,从而减少了电池寿命。这个协议采用了阿罗哈法。在一个网状网络或者一个异步网络中,例如蜂窝网,结点必须频繁的被唤醒,来同步网络和检查消息。这种同步,大 ... [详细]
  • PHPcURL获取微信公众号access_token的实例php实例:这篇文章主要介绍了PHPcURL获取微信公众号access_token的实例,需要的朋友可以参考下1.开发微信 ... [详细]
  • Linux负载均衡LVS(IPVS)
    一、LVS简介LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,现在已经是Linux ... [详细]
  • 开发笔记:Python之父重回决策层
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之父重回决策层相关的知识,希望对你有一定的参考价值。在GuidovanRossum(吉多· ... [详细]
  • Java发布webservice应用并发送SOAP请求调用
    webservice框架有很多,比如axis、axis2、cxf、xFire等等,做服务端和做客户端都可行,个人感觉使用这些框架的好处是减少了对于接口信息的解析,最主要的是减少了对于传递于网络中XML ... [详细]
  • TCP协议TCP的流量控制
    一、前言一般来说,我们总是希望数据传输能尽可能快一点。但如果发送方把数据发送得过快的话,接收方就可能来不及接收,这就会造成数据的丢失。而 ... [详细]
  • java内存模型浅析_浅析Java内存模型
    在并发编程中,需要处理两个关键问题:线程之间如何通信以及线程之间如何同步。通信是指线程之间以何种机制来交换信息。同步是指程序中用于控制不同线程间操作发生 ... [详细]
author-avatar
mobiledu2502885307
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有