事务的基本特性

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

事务的隔离级别

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

    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在执行事务完成后,才会发现这一行数据,这就是幻读,如果执行区间计数操作,可能不准。
  • 串行化:所有的事务都是传行的,失去了并发的意义

数据库的事务和隔离级别相关推荐

  1. mysql 事务sqlserver_SQLServer数据库:事务与隔离级别实例讲解

    本文主要向大家介绍了SQLServer数据库:事务与隔离级别实例讲解,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 上班途中,你在一处ATM机前停了下来.正当你在敲入密码 ...

  2. mysql数据库的事务 acid 隔离级别 脏读 脏写 幻读 不可重复读

    事务的四大特征 原子性(atomicity):要么全部提交(commit),要么全部回滚(rollback) 一致性(consistency):数据从一个合法状态转换成另一种合法状态 隔离性(isol ...

  3. 数据库事务的四大特性以及事务的隔离级别

    本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务 ...

  4. 数据库事务的隔离级别简单总结

    数据库中事务的隔离级别有四种.级别由低到高分别为:Read uncommitted.Read committed. Repeatable read和Serializable 四种.这四个级别能够逐个解 ...

  5. 数据库事务的四大特性以及事务的隔离级别详解

    作者 : fjdingsd 来源 : 博客园 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ ...

  6. 必须懂的 MySQL 的事务与隔离级别

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:微信支付的软件架构,牛逼!个人原创+1博客:点击前往,查看更多 出处:哈基石 链接:https://segmen ...

  7. 事务的特性及事务的隔离级别(转)

    原文:http://www.cnblogs.com/fjdingsd/p/5273008.html 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支 ...

  8. 带你读懂Spring 事务——事务的隔离级别(超详细,快藏)

    不了解事务的铁汁可以先看前两篇,讲的超详细,有问题还请您指点一二 带你读懂Spring 事务--认识事务 带你读懂Spring 事务--事务的传播机制(藏) 特别提示:本文所进行的实验都是在MySQL ...

  9. 数据库事务的隔离级别 (转)

    .NET 提供的数据库事务隔离级别 System.Data.IsolationLevel 枚举用于指定连接的事务锁定行为,它包含如下枚举:   成员名称 说明 Chaos 无法改写隔离级别更高的事务中 ...

最新文章

  1. vue weex 调用原生toast_vue-template-compiler 还能这么用
  2. 2019北京智源大会全部议题完整公开
  3. Serverless 工程实践 | 零基础上手 Knative 应用
  4. Java Integer于Int 进行==双等于的内存比较时的一些问题说明
  5. 拆分js文件_2021入门Webpack,看这篇就够了:Webpack.config.js 解析
  6. Could not find support-media-compat.aar
  7. linux gpio按键驱动程序,Linux GPIO Key 驱动的加载
  8. 云场景实践研究第52期:畅游
  9. Intel处理器电源管理技术(1) - 概述 - 8086/286/386SL/486SL APM ACPI
  10. 智能门禁(4)---基于face++和Onenet平台的人脸门禁系统
  11. apache php 503,宝塔linux面板 apache网站访问报错503 Service Unavailable解决
  12. Sphinx API文档例子
  13. Git初学者:权威的实用指南
  14. Jquery获取iframe中的元素
  15. Cognos 8 错误及故障排除(转载)
  16. 2021-09-03din 与dien
  17. linux下安装java
  18. matlab中提取微分方程某点的值,从随机微分方程解中提取某些参数的值
  19. python 分割不等长字符串表格_python如何将字符串等长分割
  20. 1500个工作计划总结PPT模板免费下载网址

热门文章

  1. python tkinter背景图片_如何在tkinter中有背景图像和按钮?
  2. 抖音同款表白神器(按钮漂移)
  3. 二维高斯分布(Two-dimensional Gaussian distribution)
  4. ~~单调队列(数据结构)(附题目)
  5. C语言编程规范(排版)
  6. Pycharm配置Anaconda
  7. 如何运行从github拉取的vue项目
  8. 关于反射中.getDeclaredContructor()返回构造方法顺序的问题(转)
  9. linux系列的命令补充
  10. 设计模式二:结构型模式