MySQL

7 篇文章

🏝️
数据库

EXPLAIN 与慢查询优化实战

一条 SQL 慢,通常不是"数据太多",而是优化器没找到好的执行路径。这篇讲清 EXPLAIN 里 type、key、rows、Extra 四个关键字段怎么读,以及从 filesort、temporary 到深分页的五类实战优化手段。

2026-03-1820 分钟MySQL
🏝️
数据库

InnoDB 与 MyISAM:存储引擎怎么选

MyISAM 查询常常更快,为什么现在几乎没人用它?因为存储引擎的选择不是比速度,而是比"出问题时能不能救回来"。这篇从事务、锁粒度、索引结构、崩溃恢复四个角度看两者的分野。

2026-03-1213 分钟MySQL
🏝️
数据库

乐观锁的两种流派:version 字段 vs 条件更新

两个 SQL 都叫乐观锁,失败语义却完全相反:version 失败是"冲突",条件更新失败是"资源不足"。混用会让重试逻辑变成压垮数据库的重试风暴。这篇讲清两种流派的取舍与边界。

2026-03-0511 分钟MySQL
🏝️
数据库

建表规范:字段类型、范式与冗余

建表是后端最容易埋雷的一步。金额用 float、状态用 varchar、多对多拿逗号拼 ID,上线时都没事,出问题时都是大问题。这篇给出六步建表法,并说明范式什么时候该让位于冗余。

2026-02-2114 分钟MySQL
🏝️
Elasticsearch

倒排索引:为什么 ES 检索比 LIKE 快几个数量级

数万级 SKU 上 Elasticsearch,真正的原因不是 MySQL 扛不住数据量,而是「分词检索」这件事 MySQL 没有索引结构支持。这篇从 LIKE 的代价算起,讲清倒排索引的三层结构与它快在哪。

2026-02-179 分钟Elasticsearch
🏝️
数据库

索引设计:从最左前缀到索引失效

索引不是建得越多越快,建错了反而拖慢写入。这篇从聚簇索引与回表讲起,梳理联合索引的列顺序该怎么排、最左前缀法则为什么成立,以及七类常见的索引失效场景。

2026-02-1412 分钟MySQL
🏝️
数据库

B+ 树与 B 树的区别,以及为什么数据库选 B+ 树

单看等值查询,B+ 树并不比 B 树快,有时还要多走一层。数据库选它,是因为磁盘 IO 的粒度和范围查询的需求。这篇从页和 IO 次数讲起,把 B+ 树的扇出优势、叶子链表和回表代价一次说清。

2026-02-079 分钟MySQL
← 全部标签