MySQL 分区表:使用场景、限制与性能实测
pren 发布于 2026-09-22
MySQL 分区表是面试中的高频话题,也是生产环境中容易踩坑的功能。很多人知道 PARTITION BY RANGE 的语法,却说不清什么时候该用、什么时候不该用,更不清楚分区裁剪(Partition Pruning)在什么条件下才会生效。本文从实战角度出发,梳理分区表的核心使用...
阅读(18)评论(0)赞 (0)
pren 发布于 2026-09-22
MySQL 分区表是面试中的高频话题,也是生产环境中容易踩坑的功能。很多人知道 PARTITION BY RANGE 的语法,却说不清什么时候该用、什么时候不该用,更不清楚分区裁剪(Partition Pruning)在什么条件下才会生效。本文从实战角度出发,梳理分区表的核心使用...
阅读(18)评论(0)赞 (0)
pren 发布于 2026-09-22
MySQL 查询优化器是数据库性能的核心组件之一,它负责将 SQL 语句转换为高效的执行计划,并决定使用哪些索引。理解其工作原理,不仅能帮助你在面试中脱颖而出,更能指导日常的 SQL 优化实践。 一、查询优化器的作用与架构 当一条 SQL 到达 MySQL Server 层时,会...
阅读(18)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Linux 系统编程和容器技术面试中,根文件系统切换是一个高频考点。很多候选人能说出 chroot 命令的基本用法,但当面试官追问 pivotroot 的区别、容器运行时到底用哪个、以及为什么 chroot 不够安全时,往往就答不完整了。这篇文章从面试题的角度,把这三个概念串...
阅读(23)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis 哨兵模式是 Redis 高可用架构中的核心组件,也是面试中高频出现的话题。很多候选人对哨兵模式的理解停留在“监控、通知、自动故障转移”这几个关键词上,但真正追问“故障切换的具体流程是什么”“主观下线与客观下线的区别”“选举 Leader 哨兵的细节”时,往往答不上来。...
阅读(18)评论(0)赞 (0)
pren 发布于 2026-09-22
一、为什么需要 GTID 在传统 MySQL 主从复制中,CHANGE MASTER TO 需要指定 MASTERLOGFILE 和 MASTERLOGPOS。这套机制在简单场景下运行良好,但一旦涉及故障切换,问题就暴露了: 主库宕机后,需要找到从库中最接近主库的那个节点,手动计...
阅读(17)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis Cluster 是 Redis 官方提供的分布式解决方案,它通过数据分片(Sharding)将数据分散到多个节点上,从而实现水平扩展。在 Redis Cluster 中,槽位(Slot) 是数据分片的核心概念,而重新分片(Resharding) 则是集群扩容、缩容以及...
阅读(14)评论(0)赞 (0)
pren 发布于 2026-09-22
在高并发系统中,缓存与数据库的一致性始终是一个绕不开的话题。只要使用了缓存,就必然面临“数据库更新了,缓存怎么办”的问题。Redis 延迟双删(Delayed Double Delete)是工程实践中经常被提及的一种方案,也是面试中的高频考点。很多候选人能说出“先删缓存、再更新数...
阅读(14)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 运维和面试中,“大表加字段、加索引”是一个高频且经典的场景。一张几千万甚至上亿行的表,直接执行 ALTER TABLE 往往意味着长时间锁表、主从延迟飙升,甚至业务不可用。因此,理解不同在线 DDL 方案的原理、适用场景和风险,是后端开发与 DBA 的必备技能。 ...
阅读(16)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 的高可用架构中,主从复制是最核心的基础组件。然而,默认的异步复制存在一个致命缺陷:主库提交事务后立即返回客户端,不等待从库确认。一旦主库崩溃,尚未传输到从库的事务就会永久丢失。为了解决这个问题,MySQL 先后引入了半同步复制和无损复制机制,在数据安全与性能之间寻...
阅读(16)评论(0)赞 (0)
pren 发布于 2026-09-22
面试题背景 在高并发系统中,缓存穿透是一个经典且高频的面试考点。所谓缓存穿透,是指客户端请求查询一个数据库中不存在的数据,由于缓存中也没有这条数据,每次请求都会直接打到数据库上。如果这类请求被恶意利用(例如伪造大量不存在的 ID 发起攻击),数据库可能在短时间内承受巨大压力甚至被...
阅读(17)评论(0)赞 (0)