常见面试题知识点整理

数据库的脏读、不可重复读和幻读分别是什么?

脏读是什么意思? 脏读是指一个事务读取了另一个事务尚未提交的数据。也就是说,当事务 A 修改了数据但尚未提交,而事务 B 读取了这部分数据时,如果事务 A 后续发生回滚,那么事务 B 所读取的数据就成了“脏数据”,因为这些数据实际上并未被最终写入......

数据库 面试 0 06-04-2025

如何使用 MySQL 的 EXPLAIN 语句进行查询分析?

MySQL 的 EXPLAIN 语句可以帮助我们了解查询的执行计划,从而优化 SQL 语句的性能。 1. 基本使用方法 在我们的查询前面加上 EXPLAIN 关键字。例如: 执行后,MySQL 会返回一个结果集,其中包含了查询优化器对这条 SQL......

数据库 面试 0 04-04-2025

在 MySQL 中建索引时需要注意哪些事项

1. 索引的必要性与设计 2. 复合索引与列顺序 3. 索引数量与维护 4. 索引类型选择 5. 特殊注意事项 总之,建立索引时需要综合考虑数据分布、查询频率以及写操作的负担,进行合理的权衡和设计。建议在生产环境中对查询执行计划进行测试和优化,确......

数据库 面试 0 04-04-2025

MySQL 的存储引擎有哪些?它们之间有什么区别?

MySQL 支持多种存储引擎,每种引擎针对不同的应用场景提供了特定的特性和优化。下面是几种常见的存储引擎以及它们之间的主要区别: 常见存储引擎 1. InnoDB(重点) 2. MyISAM(重点) 3. Memory 4. CSV 5. Arc......

数据库 面试 0 02-04-2025

MySQL 索引的最左前缀匹配原则是什么

MySQL 的最左前缀匹配原则主要是针对复合索引(也称为联合索引)而言的。其核心思想是:只有查询条件中包含索引最左侧(第一列)开始的连续一段列,才能让 MySQL 有效地利用该索引。 一、 复合索引的结构 二、 最左前缀匹配原则的基本概念 三、 ......

数据库 面试 0 01-04-2025

为什么 MySQL 选择使用 B+ 树作为索引结构

MySQL选择使用B+树作为索引结构主要是因为B+树在数据存储、查询优化、范围查询等方面具有显著优势。 一、 B+树的结构特点 B+树是一种自平衡的多路查找树,它的特点包括: B+树图示 以下是一棵 B+ 树的典型结构(图源网络,侵删): 二、 ......

数据库 面试 0 01-04-2025

TCP的三次握手

TCP 的三次握手是建立可靠连接的过程,主要目的是在客户端和服务器之间同步双方的初始序列号(Sequence Number),确保双方能够正确传输数据。 第一次握手(SYN) 第二次握手(SYN+ACK) 第三次握手(ACK) 总结 通过这个过程......

面试 0 21-03-2025

MySQL是如何实现事务的

在MySQL中(主要以InnoDB为例),事务的实现依赖于多个机制协同工作,确保ACID特性(原子性、一致性、隔离性、持久性) 1. 锁机制 2. Redo Log(重做日志) 3. Undo Log(撤销日志) 4. MVCC(多版本并发控制)......

数据库 面试 0 21-03-2025

Springboot的启动流程

1. 主入口与 SpringApplication.run() 2. 准备阶段 3. 创建应用上下文(ApplicationContext) 4. Bean 定义加载与上下文刷新 5. Embedded Web Server 的启动(针对 Web......

面试 0 20-03-2025