【面试题】MySQL 事务的四大特性说一下?

事务是一个或多个 SQL 语句组成的一个执行单元,这些 SQL 语句要么全部执行成功,要么全部不执行,不会出现部分执行的情况。事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。

事务的主要作用是保证数据库操作的一致性,即事务内的操作,要么全部成功,要么全部失败回滚,不会出现中间状态。这对于维护数据库的完整性和一致性非常重要。

事务具有四个基本特性,也就是通常所说的 ACID 特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

什么是原子性?

原子性子性意味着事务中的所有操作要么全部完成,要么全部不完成,它是不可分割的单位。如果事务中的任何一个操作失败了,整个事务都会回滚到事务开始之前的状态,如同这些操作从未被执行过一样。

什么是一致性?

一致性确保事务从一个一致的状态转换到另一个一致的状态。

比如在银行转账事务中,无论发生什么,转账前后两个账户的总金额应保持不变。假如 A 账户(100 块)给 B 账户(10 块)转了 10 块钱,不管成功与否,A 和 B 的总金额都是 110 块。

什么是隔离性?

隔离性意味着并发执行的事务是彼此隔离的,一个事务的执行不会被其他事务干扰。就是事务之间是井水不犯河水的。

隔离性主要是为了解决事务并发执行时可能出现的问题,如脏读、不可重复读、幻读等。

数据库系统通过事务隔离级别(如读未提交、读已提交、可重复读、串行化)来实现事务的隔离性。

什么是持久性?

持久性确保事务一旦提交,它对数据库所做的更改就是永久性的,即使发生系统崩溃,数据库也能恢复到最近一次提交的状态。通常,持久性是通过数据库的恢复和日志机制来实现的,确保提交的事务更改不会丢失。

简短一点的回答可以是:

  • 原子性:事务的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务中的操作不能只执行其中一部分。
  • 一致性:事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致性与业务规则有关,比如银行转账,不论事务成功还是失败,转账双方的总金额应该是不变的。
  • 隔离性:多个并发事务之间需要相互隔离,即一个事务的执行不能被其他事务干扰。
  • 持久性:一旦事务提交,则其所做的修改将永久保存到数据库中。即使发生系统崩溃,修改的数据也不会丢失。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/313292.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金蝶云星空与金蝶云星空对接集成委外超耗查询连通生产订单变更(发顺丰)

金蝶云星空与金蝶云星空对接集成委外超耗查询连通生产订单变更(发顺丰) 对接系统金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上,提供了标准的管理模式;通过标准的业务架构:多会计准则、多币别、多地点、多组织、多税制应用框…

FPGA - ZYNQ 基于EMIO的PS和PL交互

前言: Xilinx ZYNQ系列的芯片,GPIO分为 MIO 、EMIO、AXI_GPIO三种方式。 MIO :固定管脚,属于PS端,也就是ARM端。 EMIO :通过PL扩展,使用时需要分配PL(FPGA)管脚,消耗PL端资源。…

【GPT-4最新研究】GPT-4与科学探索:揭秘语言模型在科学领域的无限可能

各位朋友们,你们知道吗?自然语言处理领域最近取得了巨大的突破!大型语言模型(LLM)的出现,简直就像打开了新世界的大门。它们不仅在语言理解、生成和翻译方面表现出色,还能涉足许多其他领域&…

二叉树的中序遍历 - LeetCode 热题 36

大家好!我是曾续缘😃 今天是《LeetCode 热题 100》系列 发车第 36 天 二叉树第 1 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输…

React-路由(一)

​🌈个人主页:前端青山 🔥系列专栏:React篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来React篇专栏内容:React-路由(一) 目录 1、介绍 2、路由的使用 2.1、相关组件 2.2、声…

白话微机:10.民风淳朴的MCS-51小镇(小镇方言:汇编)

1. 基本结构与周期 MCS-51系列单片机属于8位单片机用 8051单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可MCS-51单片机由CPU、存储器和I/O三部分组成CPU是指:运算器和控制器 “PC CPU 3BUS RAM I/O” 在执行指令过程中&#xff…

财富池指标公式--通达信免费指标公式源码合集--第四期

久等了,今天这期通达信免费指标公式合集如约而至,依旧是三个不同功能的技术指标,看看有没有你正在找的吧! 一、通达信背离出黑马指标,背离趋势分析指标源码 ​ ​具体信号说明: 1、出现底背离为买入信号…

计算机视觉——基本矩阵的计算

最近在上研究生的课程《计算机视觉》,完成了老师布置的大作业,结合我看《计算机视觉中的多视图几何》的一些感悟和收获完成此篇博客。在学习的过程中我发现很多算法并没有开源,或者版本太落后难以执行,因此想通过这篇博客将一些算…

ELK及ELFK排错

目录 一、ELK及ELFK排错思路 1.1filebeat侧排查 1.2logstash侧排查 1.3ES、kibana侧问题 一、ELK及ELFK排错思路 1.1filebeat侧排查 第一步:排查filebeat上的配置文件有没有写错,filebeat的配置文件是yml文件,一定要注意格式。 第二步…

WebKit内核游览器

WebKit内核游览器 基础概念游览器引擎Chromium 浏览器架构Webkit 资源加载这里就不得不提到http超文本传输协议这个概念了: 游览器多线程HTML 解析总结 基础概念 百度百科介绍 WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozil…

初识ansible核心模块

目录 1、ansible模块 1.1 ansible常用模块 1.2 ansible-doc -l 列出当前anisble服务所支持的所有模块信息,按q退出 1.3 ansible-doc 模块名称 随机查看一个模块信息 2、运行临时命令 2.1 ansible命令常用的语法格式 3、常用模块详解与配置实例 3.1命令与…

【攻防世界】bug

垂直越权IP绕过文件上传 垂直越权 IP绕过 bp抓包,添加请求头X-Forwarded-For:127.0.0.1 文件上传 文件上传绕过: 1. mime检测(Content-Type) 2. 大小写绕过 3. 等价替换(php5,php3) 4. 利用J…

python笔记 | 哥德巴赫猜想

哥德巴赫猜想:每个不小于6的偶数都可以表示成两个素数之和。 素数:只能被1和自身整除的正整数。就是大于1且除了1和它本身之外没有其他因数的数。例如,2、3、5、7、11等都是素数,而4、6、8、9等则不是素数。 下面这段Python代码…

SRIO系列-基本概念及IP核使用

参考:串行RapidIO: 高性能嵌入式互连技术 | 德州仪器 SRIO协议技术分析 - 知乎 PG007 目录 一、SRIO介绍 1.1 概要 1.2 SRIO与传统互联方式的比较 1.3 串行SRIO标准 1.4 SRIO层次结构: 1.4.1 逻辑层 1.4.2 传输层协议 1.4.3 物理层 二、Xilinx…

动手写sql 《牛客网80道sql》

第1章:SQL编写基础逻辑和常见问题 基础逻辑 SELECT语句: 选择数据表中的列。FROM语句: 指定查询将要从哪个表中检索数据。WHERE语句: 过滤条件,用于提取满足特定条件的记录。GROUP BY语句: 对结果进行分组。HAVING语句: 对分组后的结果进行条件过滤。O…

Springboot项目的测试类书写(速通)

目录 前言1. 单元测试的测试类2. 框架测试的测试类 前言 在实际开发中,如果只是做一个简单的单元测试(不涉及端到端、数据库交互、API调用、消息队列处理等),我为了方便一般都是找块儿地方写一个main方法来跑一下就行了&#xff…

支付系统核心逻辑 — — 状态机(JavaGolang版本)

支付系统核心逻辑 — — 状态机 代码地址:https://github.com/ziyifast/ziyifast-code_instruction/tree/main/state_machine_demo 1 概念:FSM(有限状态机),模式之间转换 状态机,也叫有限状态机&#xff08…

UE5 HLSL 详细学习笔记

这里的POSITION是变量Position的语义,告诉寄存器,此变量的保存位置,通常语义用于着色器的输入和输出,以冒号“:”的方式进一步说明此变量,COLOR也类似 还有什么语义呢? HLSL核心函数&#xff1a…

云服务器安装Mysql、MariaDB、Redis、tomcat、nginx

前置工作 进入根目录 cd / 都在/usr/local/src文件夹) 上传压缩包 rz 压缩包 Mysql 1.下载并安装MySQL官方的 Yum Repository wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum…

每日算法4/17

1552. 两球之间的磁力 题目 在代号为 C-137 的地球上,Rick 发现如果他将两个球放在他新发明的篮子里,它们之间会形成特殊形式的磁力。Rick 有 n 个空的篮子,第 i 个篮子的位置在 position[i] ,Morty 想把 m 个球放到这些篮子里&…