我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库基础-事务篇

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库基础-事务篇

数据库基础-事务篇

1、事务是什么      

       事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。

2、事务的四大特性 

      数据库事务 transanction 正确执行的四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离
性(Isolation)、持久性(Durability)。

      (1)原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
      (2)一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
      (3)隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,  必须串行化或序列化请 求,使得在同一时间仅有一个请求用于同一数据。
      (4)持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚

3、事务隔离级别

在介绍数据库提供的各种隔离级别之前,我们先看看如果不考虑事务的隔离性,会发生的几种问题

脏读:

    脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据。

不可重复读

    指的是在数据库中的某个数据,一个事务范围内多次查询返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。

幻读

  幻读是事务非独立执行时发生的一种现象。例如事务T1对一个表中的所有行的某个数据项对了从1修改到2的操作,此时事务T2对表中插入了一行数据项,而且这个数据项为1并提交。当T1再次查询刚刚修改的数据时,会发现还有一行没有被修改。这就是幻读

 

幻读和不可重复读都是读取另一条已经提交的事务(脏读是同一条事务查询的情况),所不同的是不可重复读查询的事同一个数据项,而幻读针对的事一批数据整体。

Mysql提供的四种隔离级别

①Read uncommitted(未提交读):最低级别,任何情况都可能发生

②Read committed(已提交读):避免脏读的发生

③Repeatable red(可重复读):避免脏读,不可重复读的发生

④Serializable(串行化):可避免脏读,不可重复读,幻读的发生

默认隔离级别为Rc

查询当前事务的隔离级别:select @@tx_isolation;

 

小知识:mysql的默认隔离级别为什么是Rc,而不是RR?

先说结论:因为之前没有row格式的binlog的情况下,如果隔离级别是rc,可能导致主从数据库不一致

原因:

binlog为statement记录的事master上产生的sql语句,按提交顺序记录的,因此binlog中日志记录的是先插入数据,后删除数据(虽然在master上是先删除后插入),逻辑上产生了不一致

解决:

使用rr隔离级别

binlog格式改为row

 

 

 

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库基础-事务篇

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据库基础-事务篇

1、事务是什么              事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 2、事务的四大特性        数据库事
数据库基础-事务篇
2016-09-22

01、数据库基础篇

1. 什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系
01、数据库基础篇
2021-07-30

MySQL数据库基础篇之入门基础命令小结

本文实例讲述了MySQL数据库入门基础命令。分享给大家供大家参考,具体如下: 在日常工作与学习中,无论是开发、运维、还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一。在互联网公司,开源产品线比较多,互联网企业所用的数据
2022-06-01

Android 基础笔记 04 篇:数据存储篇

存储模式 Android 提供了四种存储模式: 专属空间存储:以该模式存储的数据只允许特定的应用程序访问。共享空间存储:以该模式存储的数据,所有应用都可以访问。首选项存储:常用于保存键值对数据。本地数据库存储:常用于保存结构体数据。 专属空
2022-06-06

数据库基础(Oracle)

1.前言2.select简单查询3.单值函数~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
数据库基础(Oracle)
2021-08-08

SQL数据库基础

SQL:Structured Quety LanguageSQL SERVER是一个以客户/服务器(c/s)模式访问、使用Transact-SQL语言的关系型数据库管理子系统(RDBMS)DBMS :Database Management System数据库管
2020-01-27

python之基础篇(五)——数据类型

防伪码:忘情公子著  前面四篇我们已经讲了许多概念方面的东西,从此篇开始,我们将真正开始学习python。  在上一篇中,我们已经说过python有哪些核心数据类型,接下来我们将一一细说这些数据类型。python数据类型之数字类型  pyt
2023-01-31

编程热搜

目录