线上慢查询出现时,很多人的第一反应是“给字段加索引”。索引当然重要,但事故处理中只盯 SQL,容易漏掉更关键的…
缓存问题很少突然发生。真正的雪崩之前,通常已经出现了 TTL 集中、热点键过热、穿透请求增多、回源数据库压力升…
慢查询优化不能只看一句 SQL。真正有效的复盘要把业务场景、数据分布、执行计划、索引设计和上线验证放在一起,否…
数据库变更看起来只是一条 SQL,但它通常连接着接口、页面、任务、报表和历史数据。一条字段变更如果没有检查影响…
LEFT JOIN 很常见,也很容易慢。它看起来只是把左表保留下来,右表匹配不到就返回 NULL,但在数据量变…
死锁不是数据库“坏了”,而是并发事务互相等待对方释放资源,形成了环。理解死锁的条件和处理方式,有助于写出更稳定…
CASE WHEN 是 SQL 里很实用的条件表达式。它可以把编码转换成展示值,也可以做条件分组、条件聚合、条…
MySQL 的知识点很多,容易散成一堆面试问答。把它们串起来,可以从四条线看:复制链路、存储引擎、日志体系和查…
事务看起来是一个注解或一段 SQL 配置,底层其实依赖数据库能力。Spring 可以帮我们开启、提交和回滚事务…
Java 项目里,持久层最容易变成“什么都能查”的地方。Mapper、SQL、缓存、事务、分页、批量写入、外部…