排序
如何选择存储引擎
如何选择存储引擎 选引擎的核心考量 存储引擎的选择没有'银弹',关键在于理解你的业务场景。下面是一套系统化的决策框架。 决策树 flowchart TD A[开始选引擎] --> B{需要事务?} B -->|是| C[In...
为什么 B+ 树而不是 B 树
为什么 B+ 树而不是 B 树 问题引出 MySQL 的 InnoDB 引擎使用 B+树 作为索引结构,而不是 B 树、二叉树、哈希表。这是面试高频题,核心在于理解 B+树针对 磁盘 IO 特性 做的优化。 B 树 vs B+树...
容器网络隔离
容器网络隔离 面试题 Docker 如何实现容器之间的网络隔离?有哪些隔离机制和配置方式? 标准答案 网络隔离是 Docker 安全性的重要组成部分。Docker 通过 Linux 网络命名空间(Network Namespace...
MySQL 总结与最佳实践
MySQL 总结与最佳实践 回顾:我们走过的 170 个知识点 从数据库基础到 InnoDB 引擎,从索引优化到高性能架构,从 SQL 调优到备份恢复,这 170 篇文章覆盖了 MySQL 面试和工作的核心内容。 核心...
哈希分片与范围分片的优缺点对比
哈希分片与范围分片的优缺点对比 为什么需要对比 在分库分表实践中,大多数场景的纠结就是选哈希分片还是范围分片。两者各有优劣,选错了会在扩展性和查询效率上付出巨大代价。 哈希分片(Hash ...
非 root 运行容器
非 root 运行容器 为什么需要非 root 运行 容器默认以 root 用户运行,这是常见的安全风险。容器内的 root 在宿主机上虽然受到 Namespace 隔离,但仍拥有部分系统权限,提权漏洞可能导致容器逃...
读写分离下的数据一致性问题与解决方案
读写分离下的数据一致性问题与解决方案 概述 读写分离架构可以实现读能力水平扩展,但引入了数据一致性问题:刚写入的数据,从库可能还没同步到。 如果不能容忍读到旧数据,就需要做额外处理。 ...
Redis Stream 核心命令:XADD、XREAD、XACK
Redis Stream 核心命令:XADD、XREAD、XACK 概述 这三个命令是 Redis Stream 消息队列的核心操作,分别对应消息的生产、消费和确认。理解它们的用法和背后的机制,是掌握 Stream 的关键。 XADD...
连接器工作流程
连接器工作流程 连接器的作用 连接器是 MySQL 与客户端通信的第一个组件,负责建立连接、校验身份、管理权限。每次客户端发起连接请求,都要经过连接器的完整流程。 完整流程 flowchart TD A[客...
IN 和 EXISTS 区别与优化
IN 和 EXISTS 区别与优化 基本区别 IN SELECT * FROM user WHERE id IN (SELECT user_id FROM `order` WHERE amount > 1000); EXISTS SELECT * FROM user WHERE EXISTS (SELECT 1 FROM `order` ...

