排序
面试题:MySQL 数据库的性能优化方法有哪些?
MySQL 性能优化是一个系统工程,需要从多个层面进行分析和调优。以下是分层次的优化方法: 一、SQL 语句优化(最直接有效) 1. 查询优化 **避免 SELECT ***:只查询需要的列 合理使用索引: -- ...
面试题:MySQL 的索引下推是什么?
MySQL 的索引下推(Index Condition Pushdown,简称 ICP)是什么? 索引下推是 MySQL 5.6 引入的一种查询优化技术,其核心目的是减少回表查询的次数,从而提升查询效率。它通过将部分 WHER...
面试题:MySQL 中的 Log Buffer 是什么?它有什么作用?
1. Log Buffer 的定义 Log Buffer(日志缓冲区)是 MySQL InnoDB 存储引擎 中的一个关键内存区域,用于临时存储事务的 Redo Log(重做日志)。当事务对数据库执行修改操作(如 I...
面试题:什么是数据库的逻辑删除?数据库的物理删除和逻辑删除有什么区别?
逻辑删除与物理删除的概念 逻辑删除:指的是在数据库中不实际移除数据记录,而是通过标记的方式(如增加一个is_deleted字段,并将其值设为true或1)来表示该记录已被“删除”。这样做的好处是可...
面试题:如何在 MySQL 中避免单点故障?
在 MySQL 中避免单点故障(Single Point of Failure, SPOF)是确保数据库高可用性和系统稳定性的核心目标。以下是实现这一目标的主要技术和策略,结合 主从复制、集群方案、自动化工具&nbs...
面试题:MySQL 中 EXISTS 和 IN 的区别是什么?
在 MySQL 中,EXISTS 和 IN 都是用于子查询的关键字,但它们的工作机制和使用场景有所不同。 EXISTS 功能:EXISTS 用于检测子查询是否返回行。如果子查询返回一行或多行,则 EXISTS 的结果为 TR...
面试题:什么是分库分表?分库分表有哪些类型(或策略)?
分库分表的定义 分库分表是一种数据库优化技术,用于解决单库单表性能瓶颈的问题。当数据量过大或并发访问压力过高时,将原本集中存储的数据分散到多个数据库或多个表中,从而提升数据库的性能...
面试题:MySQL 默认的事务隔离级别是什么?为什么选择这个级别?
MySQL 默认的事务隔离级别是 可重复读(Repeatable Read),这是由 InnoDB 存储引擎提供的默认设置。选择这个级别的原因主要有以下几点: 为什么选择可重复读(Repeatable Read) 防止脏读:在...
面试题:MySQL 中 DATETIME 和 TIMESTAMP 类型的区别是什么?
在 MySQL 中,DATETIME 和 TIMESTAMP 是两种常用的日期时间数据类型,但它们在 存储范围、时区处理、存储空间、默认行为 等方面有显著区别。以下是详细的对比分析: 1...
面试题:详细描述一条 SQL 语句在 MySQL 中的执行过程。
一条 SQL 语句在 MySQL 中的执行过程涉及多个层次和组件的协同工作。以下是详细的执行流程,结合 MySQL 的架构(Server 层和存储引擎层)进行说明: 一、执行流程概览 客户端发送请求 连接管理...