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

23春招-mysql事务相关高频面试题

1、什么是事务

对于一个事务,要么事务内的sql全部执行,要么都不执行

2、 事务的特性ACID

  • 原子性

    整个事务中所有的操作要么全部提交成功,要么全部失败会滚。

  • 一致性

    数据库总是从一个一致性状态转换到另一个一致性状态。假如有三个sql语句,如果在更新第二个sql语句时,准备执行第三个sql语句突然崩溃,事务最终没提交,事务做的修改不会保存到数据库

  • 隔离性

​ 一个事务所做的修改在最终提交以前,对其他事务是不可见的

  • 持久性

​ 一旦事务提交,所做的修改永久保存到数据库

3、并发事务带来的问题

  • 脏读

​ 当一个事务正在访问数据并且对数据进行修改,但还没有提交到数据库中,另一个事务访问了这个数据并且使用,但是这个数据还没有提交,则这个数据就是脏数据,后续操作都是不正确的

  • 丢失修改

​ 一个事务读取一个数据时,另一个事务也在访问这个数据,则第一个事务修改了这个数据后,第二个时候也修改了这个数据,则第一个事务修改的结果就会丢失,就是丢失修改

  • 不可重复读

​ 一个事务多次读同一个数据,这个事务还没结束,另一个事务也在访问该数据,那么在一个事务的两次读数据之间,由于第二个时候的修改导致了第一个事务两次读取的数据不一样,

  • 幻读

​ 和不可重复读类似。他发生在一个事务读取了几行数据,另一个事务并发事务插入了一些数据,在随后的查询,第一个事务就会发现多了一些原本不存在的记录,就好像发生了幻觉。

4、隔离性与隔离级别

  • 读未提交 ru

    一个事务还没提交,它做的事情能被其他事物看到

  • 读提交 rc

​ 一个事务提交之后,它做的变更才能被其他事物看到

  • 可重复读 rr (MySQL InnoDB引擎的默认隔离级别

​ 同一个事务多次读取到同样的数据的结果是一致的,InnoDB使用MVCC多并发版本控制解决幻读(并不是完全解决)

  • 串行化 Serializable

    最高的隔离级别,强制事务串行执行,避免幻读,实际是在读取的每一行数据上加锁,会有严重的锁竞争问题,对性能会有一定的影响

5、事务是如何实现的(原理)?

事务日志记录着事务的实现

redo log实现原子和持久性

undo log实现一致性

事务日志是如何实现事务的ACID,请看下一篇什么是事务日志

相关文章:

23春招-mysql事务相关高频面试题

1、什么是事务 对于一个事务,要么事务内的sql全部执行,要么都不执行 2、 事务的特性ACID 原子性 整个事务中所有的操作要么全部提交成功,要么全部失败会滚。 一致性 数据库总是从一个一致性状态转换到另一个一致性状态。假如有三个sql语句…...

天线理论知识1——基础概念介绍

基础概念介绍 文章目录 基础概念介绍前言一、主要参数二、天线的种类三、天线的测量前言 天线是用于发射和接收电磁波设备。其功能可以概括为转换自由空间中的电磁波和设备中的导行波。 一、主要参数 天线设计中要考虑的参数较多,包括 方向性函数:距离天线 r r r处的远区…...

【云原生之Docker实战】使用Docker部署StackEdit在线Markdown编辑器

【云原生之Docker实战】使用Docker部署StackEdit在线Markdown编辑器 一、StackEdit介绍1.StackEdit简介2.StackEdit中文版简介3.StackEdit中文版功能二、检查本地Docker环境1.检查系统版本2.检查系统Docker版本3.检查docker compose版本三、下载StackEdit镜像四、部署StackEdit…...

特征工程:特征构造以及时间序列特征构造

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。 那特征工程是什么? 特征工程是利用数据领域的相关…...

单master部署简要步骤

准备多台服务器,选定一台为master例如设置ip为192.168.0.10,host: k8s.master,其他分别为 k8s.s11 192.168.0.11k8s.s12 192.168.0.12....hostname可以使用命令配置hostname k8s.masterip解析可以在hosts文件中写入,如果有内部dns解析可以在内…...

【算法基础】(一)基础算法 --- 前缀和与差分

✨个人主页:bit me ✨当前专栏:算法基础 🔥专栏简介:该专栏主要更新一些基础算法题,有参加蓝桥杯等算法题竞赛或者正在刷题的铁汁们可以关注一下,互相监督打卡学习 🌹 🌹 &#x1f3…...

c++提高篇——stack容器

一、stack容器的基本概念 stack是一种先进后出(FILO)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用。因此该容器不能有遍历行为。基本的结构如下: stack容器有些像手枪子弹的弹夹,其数据的出入栈可以以弹夹为参考。 二、…...

HTTP安全与HTTPS协议

目录 Http协议的安全问题 常见的加密方式 防止窃听 单向散列函数 单向散列值的特点 加密与解密 对称加密与非对称加密 对称加密的密钥配送问题 密钥配送问题的解决 非对称加密 前言: 公钥与私钥 非对称加密过程 混合密码系统 前言: 混合…...

【c++】类和对象4—c++对象模型和this指针

文章目录成员变量和成员函数分开存储this指针的用途空指针访问成员函数const修饰成员函数成员变量和成员函数分开存储 在c中&#xff0c;类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 #include<iostream> using namespace std;class Person1…...

嵌入式Qt 开发一个视频播放器

上篇文章&#xff1a;嵌入式 Qt开发一个音乐播放器&#xff0c;使用Qt制作了一个音乐播放器&#xff0c;并在OK3568开发板上进行了运行测试&#xff0c;实际测试效果还不错。 本篇继续来实现一个Qt视频播放器软件&#xff0c;可以实现视频列表的显示与选择播放等&#xff0c;先…...

阿里巴巴内网 Spring Cloud Alibaba 强势来袭,开创微服务的新时代

Spring Cloud 发展史 Spring Cloud 从 15 年的 3 月份推出之后&#xff0c;迅速在 Java 微服务生态中&#xff0c;成为开发人员的首选技术栈。 Spring Cloud 在 Spring Boot 的基础上&#xff0c;保留 Java 开发习惯&#xff0c;加入分布式特性&#xff0c;提供了一系列通用工…...

边界检测方法总结

1&#xff1a;经典的边界检测方法有sobel&#xff0c;拉普拉斯&#xff0c;canny等。 sobel&#xff1a; def get_sobel(in_chan, out_chan):filter_x np.array([[1, 0, -1],[2, 0, -2],[1, 0, -1],]).astype(np.float32)filter_y np.array([[1, 2, 1],[0, 0, 0],[-1, -2, -…...

Softing dataFEED OPC Suite Extended新版本支持从XML文件中读取生产数据

Softing dataFEED OPC Suite Extended V5.25的新功能——“文件读取&#xff08;File Read&#xff09;”&#xff0c;支持访问XML文件中可用的过程数据。 &#xff08;文件读取功能支持获取由XML文件提供的过程数据&#xff09;dataFEED OPC Suite Extended是用于OPC通信和云连…...

央行罚单!金融机构被罚原因揭秘

近日&#xff0c;人民银行公布了2023年首批行政处罚罚单&#xff0c;引发业内广泛关注。 顶象防御云业务安全情报中心统计了人民银行官网&#xff0c;2020年1月至2023年2月10日期间&#xff0c;公布的101份行政处罚。 统计显示&#xff0c;16家金融机构被罚27066.9万元&#…...

js中var、let、const详解

首先 var、let、const 在项目开发中都是用来声明变量的&#xff0c;在ES5中只有两种声明变量的方法&#xff1a;var和function&#xff0c;在ES6中新增了 let、const、class、import 四种声明变量的方法&#xff0c;本文主要讲解 var、let 与 const 的语法&#xff0c;其他的大…...

【数据库】MySQL概念知识语法-基础篇(DCL),真的很详细,一篇文章你就会了

目录通用语法及分类DCL&#xff08;数据控制语言&#xff09;管理用户查询用户权限控制函数字符串函数数值函数日期函数流程函数约束外键约束多表查询一对多多对多一对一通用语法及分类 ● DDL: 数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库、表、字段&…...

Blender骨骼动画快速教程

有关创建模型的更多详细信息&#xff0c;请参阅在 Blender 中创建模型。 我们将为这个例子做一个非常简单的模型——蠕虫&#xff01; 从我们的初始立方体开始&#xff0c;进入编辑模式&#xff0c;切换到面选择&#xff0c;然后选择任何面&#xff1a; 推荐&#xff1a;将 NSD…...

【C++算法】dfs深度优先搜索(下) ——【全面深度剖析+经典例题展示】

&#x1f483;&#x1f3fc; 本人简介&#xff1a;男 &#x1f476;&#x1f3fc; 年龄&#xff1a;18 &#x1f91e; 作者&#xff1a;那就叫我亮亮叭 &#x1f4d5; 专栏&#xff1a;关于C/C那点破事 文章目录0.0 写在前面1. 中国象棋1.1 题干信息① 背景说明概述② 问题描述…...

HIVE 基础(三)

目录 建表语句 表数据 Hive建表高阶语句 - CTAS and WITH CTAS – as select方式建表 CTE (CTAS with Common Table Expression) LIKE 创建临时表 清空表数据 修改表&#xff08;Alter针对元数据&#xff09; 改名 修正表文件格式 修改列名 添加列 替换列 动态分…...

redis-cluster集群搭建

安装redis所需环境 yum install -y gcc-c yum install -y wget 创建文件夹 cd / mkdir redis/redis-cluster/7001 cd redis/redis-cluster mkdir 7002 7003 7004 7005 7006 7007 7008下载redis压缩包并解压安装 wget https://download.redis.io/redis-stable.tar.gz tar -…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...