数据库相关知识点

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

脏读是什么意思? 脏读是指一个事务读取了另一个事务尚未提交的数据。也就是说,当事务 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. 索引的基本概念 2. 常见的索引类型 3. 索引的优缺点 4. 设计索引时的注意事项 5. 真实场景中的使用 6. 示例:用户表中的电子邮......

数据库 0 03-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

Armstrong公理

什么是Armstrong公理 Armstrong公理是一套规则,用来推导“函数依赖”关系。函数依赖是关系数据库设计中的核心概念,它指的是某个属性或属性组合能够决定另一个属性或属性组合的值。例如,如果我们知道某个学生的学号(假设学号是唯一的),那么......

数据库 软考 0 29-03-2025

MySQL是如何实现事务的

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

数据库 面试 0 21-03-2025