当前位置: 首页 > ops >正文

Java面试宝典:MySQL事务和事务的隔离级别

一. 事务和事务的隔离级别

1. 为什么需要事务

事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(包含多个DML语句,select语句不包含事务),其执行结果必须是“要不全部成功,要不全部失败”。

示例说明: A 给 B 划钱,A 的账户需 -1000元, B 的账户需 +1000元。这两个 update 语句必须作为一个整体来执行。否则,如果出现 A 扣钱了但 B 没有加钱的情况,就是错误的。事务机制可以保证 A、B 账户的变动要么全部一起发生,要么全部一起不发生。

2. 事务特性

事务应具备 4 个属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。这四个属性通常称为 ACID 特性。

*原子性(atomicity)
*一致性(consistency)
*隔离性(isolation)
*持久性(durability)

2.1. 原子性(atomicity)

一个事务必须被视为一个不可分割的最小单元。整个事务中的所有操作要么全部提交成功,要么全部失败回滚。对于一个事务来说,不能只执行其中的一部分操作。

示例说明

http://www.xdnf.cn/news/16496.html

相关文章:

  • 《中国棒球》cba球队有哪些球队·棒球1号位
  • qt 心跳包
  • ICPC 2024 网络赛(I)
  • 2.DRF 序列化器-Serializer
  • 如何规范化项目执行
  • 学习Python中Selenium模块的基本用法(2:下载浏览器驱动)
  • Solidity基础(教程④-ERC-4626收益金库)
  • 机器学习sklearn:不纯度与决策树构建
  • Python Pandas.merge_ordered函数解析与实战教程
  • 网络编程概述与UDP编程
  • Faiss 向量数据库详解
  • Redis反弹Shell
  • 【Java基础面试题】Java特点,八种基本数据类型
  • 《Java 程序设计》第 8 章 - Java 常用核心类详解
  • 用了Flutter包体积增大就弃用Flutter吗?包体积与开发效率,这两者之间如何权衡?
  • 设计模式实战:自定义SpringIOC(亲手实践)
  • 【VUE3】搭建项目准备工作
  • 04动手学深度学习(下)
  • 【SpringMVC】MVC中Controller的配置 、RestFul的使用、页面重定向和转发
  • 图论(BFS)构造邻接表(运用队列实现搜索)
  • 【动态规划 | 路径问题】动态规划方法:解决路径问题的最佳策略
  • Java学习-----JVM的垃圾回收算法
  • mac电脑如何关闭防火墙
  • Datawhale AI夏令营记录
  • 第二十二节 MATLAB转置向量、MATLAB追加向量
  • v4l2_ctrl_handler_setup()函数详解
  • JavaWeb 新手学习路线:从零到全栈开发,系统掌握企业级 Web 开发技能
  • 智能制造--EAP设备自动化程序
  • Ubuntu “apt”安装
  • 搜索引擎高级搜索指令大全(Google、百度等浏览器通用)