7-事务控制篇-3

简介: 数据库查询执行流程:客户端建TCP连接→连接器认证授权→(8.0前)查查询缓存→分析器词法/语法/语义解析→优化器生成最优执行计划→执行器校验权限并调用存储引擎→引擎层读取数据→返回结果。(239字)

11.简述数据库执行查询请求的过程?

客户端请求:建立TCP连接。 使用连接器进行连接管理:此时服务端会对客户端发来数据携带的主机信息、用户名、密码等信息进行验证,如果认证失败就会拒绝连接。(连接器) 注: 当客户端连接服务端进程后,服务端进程会为其创建进程专门用于交互,当断开连接后,服务端不会立即进行销毁,而是会进行缓存,用于下次新的连接,这样可以不用频繁的创建和销毁线程,节省开销。 缓存查询:服务端会对之前的请求结果进行缓存,若存在缓存直接返回,否则继续执行下一步。维护缓存的代价较大,因此在8.0版本后已删除缓存。 语法解析:由于目前为止还未对文本解析,此时会对文本进行词法分析、语法分析、语义分析等过程,真正开始解析。(分析器) 查询优化:主要对执行的sql优化选择最优的执行方案。(优化器) 存储引擎:执行时会先看用户是否有执行权限,有才去使用这个引擎提供的接口。然后去引擎层获取数据返回,若开启查询缓存则会缓存查询结果。(执行器)

12.简述脏读、幻读、不可重复读的定义?

脏读:指当一个事务正在访问数据,并且对数据进行了修改,而这种数据还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据还没有提交那么另外一个事务读取到的这个数据我们称之为脏数据。 不可重复读:指在一个事务内,多次读同一数据。在这个事务还没有执行结束,另外一个事务也访问该同一数据,那么在第一个事务中的两次读取数据之间,由于第二个事务的修改第一个事务两次读到的数据可能是不一样的,这样就发生了在一个事务内两次连续读到的数据是不一样的,这种情况被称为是不可重复读。 幻读:一个事务先后读取一个范围的记录,但两次读取的纪录数不同,我们称之为幻象读。(两次执行同一条 select 语句会出现不同的结果,第二次读会增加一数据行,并没有说这两次执行是在同一个事务中)

13.简述数据库的隔离级别?

读未提交:指一个事务读取另一个事务未提交的修改。,会发生脏读、不可重复读、幻读。 读提交:指只能读到已经提交的内容。会发生不可重复读和幻读。是SQL Server和Oracle的默认隔离级别。 可重复读:指当数据被读取时,不可进行update操作,保证多次读取的记录是相同的,解决了不可重复读的问题。但幻读是insert导致,不会避免。可重复读是MySQL的默认隔离级别。 可串行化读:这是数据库最高的隔离级别,这种级别下,事务“串行化顺序执行”,也就是一个一个排队执行。这种级别下,“脏读”、“不可重复读”、“幻读”都可以被避免,但是执行效率奇差,性能开销也最大,所以基本没人会用。

14.简述MySQL可以从哪些方面做到性能优化?

为搜索字段创建索引。 避免使用 Select *,列出需要查询的字段。 垂直分割分表,水平分割是分割记录,以一条记录/行为单位。垂直分割则是以列为单位,将列分割出去。 选择正确的搜索引擎。 实现数据库的主从同步,实现读写分离。 添加合适的缓存机制,维护代价高。 对冷热数据进行均分,减少单个库的压力,使整体性能达到更优。

15.简ySQL为什么需要事务回滚机制?

在MySQL中事务回滚通过日志完成,所有事务进行的修改都会先记录到回滚日志中,然后再对数据库中的对应行进行写入。当事务被提交后就无法回滚了。

回滚日志的作用:

能够在发生错误或用户执行rollback时提供回滚的相关信息。 在整个系统发生崩溃、数据库进程直接被杀死后,当用户再次启动数据库进程时,还能够立刻通过查询回滚日志将之前未完成的事务进行回滚,这也就需要回滚日志必须先于数据持久化到磁盘上,是我们需要先写日志后写数据库的主要原因。

目录
相关文章
|
26天前
|
人工智能 运维 安全
阿里云Qwen3.6-27B是什么?阿里云Qwen3.6-27B 解析:稠密架构、百万上下文与企业级部署
阿里云Qwen3.6-27B是通义千问团队推出的一款**270亿参数稠密型多模态大语言模型**,以“小参数、强性能”为核心定位,在编程能力、长文本处理、多模态理解与智能体执行等方面实现突破性表现,是面向开发者与企业的新一代开源旗舰模型。该模型采用Apache 2.0开源协议,支持完全商用、本地部署与二次开发,凭借稠密架构的简洁性、百万级上下文能力与媲美千亿模型的智能体表现,成为当前开源社区的热门选择。以下从技术架构、核心能力、性能表现、部署方式与应用场景等维度,全面解析Qwen3.6-27B的全貌。
1678 3
|
1月前
|
存储 人工智能 安全
意图共鸣科技:AI记忆链的盲存——你的记忆,只有你能打开
你和AI的对话,平台真能“看不见”吗?意图共鸣科技推出“盲存”技术:数据本地加密后上传,密钥仅用户持有,云端仅存密文。平台变“数据保管员”,无法访问明文,隐私由架构保障而非承诺。用户完全掌控记忆——可查、可导、可删,跨设备同步同样安全。
173 16
|
1月前
|
数据采集 运维 监控
绝缘子位置检测数据集(2000张)|YOLOv8训练数据集 电力巡检 无人机检测 输电线路监测 智能运维
本数据集含2000张真实电力巡检图像,专为YOLOv8训练优化,聚焦绝缘子位置检测。覆盖山区、城市等多场景及晴/雾/逆光等复杂条件,采用单类别高精度YOLO格式标注,结构标准、即拿即用,助力无人机巡检、智能运维与输电线路安全监测。
174 11
|
26天前
|
XML Java 测试技术
Java 的 Spring Boot 生态 —— 统治企业级后端的完整武器库
在SpringBoot出现之前(2014年前),构建JavaWeb应用是令人生畏的体验:你需要手动配置DispatcherServlet、设置XML文件、配置数据源、管理大量依赖版本,并忍受繁琐的部署流程。
237 4
|
1月前
|
弹性计算 5G 云计算
2026年阿里云秒杀活动全攻略:时间、入口、抢购技巧
阿里云2026秒杀活动升级上线!新用户专享轻量服务器38元/年、9.9元/月起,每日10:00/15:00两场抢购。含实名认证要求、抢购技巧及68元/年起备选方案,助你低成本高效上云!
428 18
|
2月前
|
存储 缓存 NoSQL
4-Redis篇-1
本文详解Redis在项目中的三大应用:热点缓存、业务数据存储(如验证码、排行榜)及分布式锁;涵盖5种基础数据类型、RDB/AOF双持久化机制、惰性+定期混合过期策略,以及8种内存淘汰策略。
169 19
|
4天前
|
存储 NoSQL 关系型数据库
7-事务控制篇-1
关系型数据库(如MySQL)基于表结构与SQL,强事务(ACID)、支持复杂查询;非关系型数据库(如Redis、MongoDB)采用键值、文档等灵活模型,高性能、易扩展,适用于高并发与非结构化数据,但弱于事务与关联查询。(239字)
64 6
|
1月前
|
弹性计算 人工智能 自然语言处理
阿里云Qwen3.6 MoE大模型全新开源详解:模型特性、ECS/ACS/计算巢部署流程、vLLM配置与代码调用全教程
阿里云Qwen3.6系列是通义千问团队推出的新一代混合专家(MoE)架构大语言模型,凭借稀疏激活、高效推理、多规格覆盖、原生支持智能体与多语言能力,成为企业私有化部署、AI应用开发、智能体构建的理想选择。该系列全面开源,依托阿里云计算巢平台可实现三步一键部署专有版,搭配vLLM推理框架大幅提升吞吐效率,FP8量化版本更让显存占用降低约一半,兼顾顶尖性能与极致成本优势。本文从模型定位、核心优势、规格选型、阿里云计算巢部署流程、API调用代码、环境配置、常见问题全方面展开,为开发者与企业提供完整可落地的实战指南。
1896 7
|
8天前
|
存储 小程序 安全
如何为APP构建一个安全可控的沙箱运行环境,让第三方合作伙伴的小程序能够安全可控的运行在自己的APP里
如何为自己的APP引入一个安全可控的沙箱运行环境,沙箱为每个小程序创建一个独立的运行环境,实现第三方服务商通过小程序接入宿主APP,代码在自己可控的沙箱内运行,宿主APP通过管控后台掌握最终的决定权。
83 2
如何为APP构建一个安全可控的沙箱运行环境,让第三方合作伙伴的小程序能够安全可控的运行在自己的APP里
|
14天前
|
消息中间件 监控 关系型数据库
iMessage群发系统:多设备集群管理与全链路代码实战
iMessage群发系统,是一套面向企业内部通知、已授权会员服务触达场景设计的分布式设备管理与消息推送系统,可实现对数十台苹果终端的集中化管控、状态实时监控与自动化iMessage消息合规发送。