排序
面试题:MySQL 的乐观锁和悲观锁是什么?
在 MySQL 中,乐观锁和悲观锁是两种处理并发控制的方法,它们分别适用于不同的场景,并以不同的方式来保证数据的一致性和完整性。 悲观锁(Pessimistic Locking) 概念:悲观锁假设会发生并发冲...
面试题:什么是数据库的游标?
数据库游标是什么? 游标(Cursor) 是数据库中用于逐行处理查询结果集的机制。它像一个指针,指向结果集中的某一行,允许开发者按顺序(或随机)访问、修改结果集中的每一行数据。游标的核心作...
面试题:MySQL 插入一条 SQL 语句,redo log 记录的是什么?
当 MySQL 执行一条插入(INSERT)SQL 语句时,redo log(重做日志)记录的是物理层面的页修改,而不是 SQL 语句本身。具体来说: 1. redo log 记录的内容 redo log 主要记录以下信息: 被修改的...
面试题:MySQL 是如何实现事务的?
MySQL 的事务实现主要依赖于 InnoDB 存储引擎,通过 日志系统(Redo Log、Undo Log)、锁机制 和 多版本并发控制(MVCC) 来实现事务的 ACID 特性(原子性、一致...
面试题:MySQL 中 LIMIT 100000000, 10 和 LIMIT 10 的执行速度是否相同?
在 MySQL 中,LIMIT 100000000, 10 和 LIMIT 10 的执行速度 完全不同,且 LIMIT 10 明显更快。以下是详细分析: 1. 核心原因:偏移量(OFFSET)的处理 LIMIT 10 ...
面试题:MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
MySQL中的InnoDB和MyISAM是两种常用的存储引擎,它们各自具有不同的特点和适用场景。以下是这两种存储引擎的主要区别: 事务支持 InnoDB:支持事务处理(ACID兼容),提供提交、回滚和崩溃恢复...
面试题:为什么 MySQL 索引用的是 B+ 树而不是红黑树?
MySQL 选择 B+ 树作为索引结构而不是红黑树,主要基于以下几个关键原因: 1. 磁盘 I/O 效率 B+ 树是为磁盘存储系统优化的数据结构: 多路平衡查找树:B+ 树的每个节点可以包含多个键值(通常为...
场景题:如何实现数据库的不停服迁移?
实现数据库的不停服迁移是许多企业系统升级或架构调整时的核心需求,以下是几种成熟的解决方案: 一、主流迁移方案对比 方案适用场景停机时间复杂度数据一致性保证主从复制版本升级、机房迁移秒...
面试题:什么是数据库的逻辑删除?数据库的物理删除和逻辑删除有什么区别?
逻辑删除与物理删除的概念 逻辑删除:指的是在数据库中不实际移除数据记录,而是通过标记的方式(如增加一个is_deleted字段,并将其值设为true或1)来表示该记录已被“删除”。这样做的好处是可...
面试题:详细描述一条 SQL 语句在 MySQL 中的执行过程。
一条 SQL 语句在 MySQL 中的执行过程涉及多个层次和组件的协同工作。以下是详细的执行流程,结合 MySQL 的架构(Server 层和存储引擎层)进行说明: 一、执行流程概览 客户端发送请求 连接管理...
