最新发布第9页
查询缓存为何 8.0 移除-林林林的博客

查询缓存为何 8.0 移除

查询缓存为何 8.0 移除 查询缓存是什么 查询缓存(Query Cache)是 MySQL 在 Server 层的一个优化特性:将 SELECT 语句的完整结果缓存起来,相同的查询直接返回缓存结果,跳过解析、优化和执行...
as959705158的头像-林林林的博客as95970515815小时前
04111
MySQL 8.0 相比 5.7 重要改进-林林林的博客

MySQL 8.0 相比 5.7 重要改进

MySQL 8.0 相比 5.7 重要改进 概述 MySQL 8.0 是一次大版本重构,在很多底层架构上做了根本性变化。从 5.7 迁移到 8.0 不仅是版本号的变化,更是架构思维的升级。 核心改进总览 graph TD A[MySQ...
as959705158的头像-林林林的博客as95970515815小时前
04310
其他存储引擎 Memory / CSV / Archive-林林林的博客

其他存储引擎 Memory / CSV / Archive

其他存储引擎 Memory / CSV / Archive 概述 除了 InnoDB 和 MyISAM,MySQL 还内置了 Memory、CSV、Archive 等存储引擎。它们在特定场景下有独特优势。 -- 查看所有支持的引擎 SHOW ENGINES; Mem...
as959705158的头像-林林林的博客as95970515815小时前
02413
如何选择存储引擎-林林林的博客

如何选择存储引擎

如何选择存储引擎 选引擎的核心考量 存储引擎的选择没有'银弹',关键在于理解你的业务场景。下面是一套系统化的决策框架。 决策树 flowchart TD A[开始选引擎] --> B{需要事务?} B -->|是| C[In...
as959705158的头像-林林林的博客as95970515815小时前
0509
为什么 B+ 树而不是 B 树-林林林的博客

为什么 B+ 树而不是 B 树

为什么 B+ 树而不是 B 树 问题引出 MySQL 的 InnoDB 引擎使用 B+树 作为索引结构,而不是 B 树、二叉树、哈希表。这是面试高频题,核心在于理解 B+树针对 磁盘 IO 特性 做的优化。 B 树 vs B+树...
as959705158的头像-林林林的博客as95970515815小时前
03613
回表查询:为什么需要回表-林林林的博客

回表查询:为什么需要回表

回表查询:为什么需要回表 什么是回表 回表(Back to Table)是指通过二级索引查到主键值后,再通过主键到聚簇索引中查找完整数据行的过程。 sequenceDiagram participant Q as 查询: name='...
as959705158的头像-林林林的博客as95970515815小时前
04810
范围查询截断后面列原因-林林林的博客

范围查询截断后面列原因

范围查询截断后面列原因 问题现象 联合索引中,一旦某列使用了范围查询(如 >, 10 AND c = 3; -- a: ✅ 索引(等值) -- b: ⚠️ 索引(范围) -- c: ❌ 索引失效,回表后过滤 根本原因:B+树的...
as959705158的头像-林林林的博客as95970515815小时前
0336
最左前缀底层原理-林林林的博客

最左前缀底层原理

最左前缀底层原理 问题 面试不仅会问'什么是最左前缀匹配',更会问'底层是怎么实现的'。理解 B+树中联合索引的存储结构是关键。 B+树联合索引的存储 排序规则 联合索引 (a, b) 在 B+树中的排序...
as959705158的头像-林林林的博客as95970515815小时前
03514
优化器是否自动调整 WHERE 顺序-林林林的博客

优化器是否自动调整 WHERE 顺序

优化器是否自动调整 WHERE 顺序 问题引出 很多开发者认为 MySQL 查询时必须把索引列放前面: -- 索引:idx_name_age(name, age) -- 提问:下面两个查询,哪个索引生效? SELECT * FROM user WHE...
as959705158的头像-林林林的博客as95970515815小时前
03714
数据迁移、扩缩容方案-林林林的博客

数据迁移、扩缩容方案

数据迁移、扩缩容方案 为什么数据迁移如此棘手 分库分表后,数据迁移是一个绕不开的问题。当数据量增长超过预期、分片策略需要调整、或者硬件需要升级时,都需要对已有数据进行迁移。 主要挑战...
as959705158的头像-林林林的博客as95970515815小时前
04115