avatar
文章
148
标签
23
分类
3
首页
归档
标签
分类
留言
关于
Jing's Blog
搜索
首页
归档
标签
分类
留言
关于

Jing's Blog

MyBatis 分页插件和 SQL 可控性
发表于2025-11-03|开发调优
这篇我想按“排查记录”来写,主题是 MyBatis 分页插件和 SQL 可控性。这种写法比纯概念文更适合我自己回看。 现象先别急着解释分页插件减少重复代码,但要理解最终执行的 SQL。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 确认 count SQL 是否合理 大表分页要限制条件 导出不要复用普通分页接口 带入一个排查场景给后台列表接口加分页和排...
MyBatis 动态 SQL 写法整理
发表于2025-11-03|开发调优
这篇按踩坑笔记来写,因为 MyBatis 动态 SQL 写法整理 我现在更容易记住“错在哪”,而不是“定义长什么样”。 先记住这句话动态 SQL 要服务于可读性,不能把条件拼接写散。 很多问题不是不会用,而是用得太顺手了,顺手到把边界条件给省掉了。 这类问题一般怎么出现我脑子里会先放这个场景:写一个订单列表的组合筛选查询。 一开始看着都像是个小问题,真正麻烦的是它往往不是立刻报错,而是跑一阵子、数据一多、并发一上来才暴露。 这次我...
事务隔离级别和脏读、幻读复盘
发表于2025-10-28|开发调优
这篇我想按“排查记录”来写,主题是 事务隔离级别和脏读、幻读复盘。这种写法比纯概念文更适合我自己回看。 现象先别急着解释隔离级别是在一致性和并发性能之间取舍。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 读未提交风险最高 读已提交避免脏读 可重复读关注同一事务内一致视图 带入一个排查场景用两个会话演示同一行数据更新后的读取差异。 如果这是线上问题,我...
乐观锁和悲观锁的使用边界
发表于2025-10-28|开发调优
今天不想写长文,先把 乐观锁和悲观锁的使用边界 这块拆成几条短一点的问答。面试里经常会被连续追问,如果只背一句定义,第二问基本就卡住了。 先说我自己的结论根据冲突概率和用户体验选择锁策略。 我现在会先把这类题分成“定义是什么、为什么这样设计、代码里怎么用、容易翻车在哪”四层去答。这样比死背一段话稳很多。 快问快答 乐观锁适合低冲突。我现在的理解:先记结论,再回到代码里找一个能验证它的场景。 悲观锁适合强一致扣减。我现在的理解:先记...
分页查询越往后越慢怎么办
发表于2025-10-19|开发调优
这篇我想按“排查记录”来写,主题是 分页查询越往后越慢怎么办。这种写法比纯概念文更适合我自己回看。 现象先别急着解释深分页慢的根源是数据库仍要跳过大量记录。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 limit offset 会扫描并丢弃前面行 游标分页适合连续翻页 后台导出要异步化 带入一个排查场景把消息列表改成基于最后一条 id 的翻页。 如果...
一次慢 SQL 的定位过程
发表于2025-10-12|开发调优
这篇按踩坑笔记来写,因为 一次慢 SQL 的定位过程 我现在更容易记住“错在哪”,而不是“定义长什么样”。 先记住这句话慢 SQL 排查要从现象、SQL、索引和数据分布逐步缩小。 很多问题不是不会用,而是用得太顺手了,顺手到把边界条件给省掉了。 这类问题一般怎么出现我脑子里会先放这个场景:把一个按时间范围查询的接口从全表扫改成索引扫描。 一开始看着都像是个小问题,真正麻烦的是它往往不是立刻报错,而是跑一阵子、数据一多、并发一上来才...
explain 执行计划我重点看哪些字段
发表于2025-10-10|开发调优
这篇我想按“排查记录”来写,主题是 explain 执行计划我重点看哪些字段。这种写法比纯概念文更适合我自己回看。 现象先别急着解释用 explain 判断查询是否走到预期路径。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 type 反映访问方式 key 表示实际使用索引 rows 是优化器估算行数 Extra 暴露排序和临时表 带入一个排查场景比较...
B+ 树索引到底解决了什么问题
发表于2025-10-06|开发调优
今天把 B+ 树索引到底解决了什么问题 补成一篇正常一点的学习笔记,不写大而全,就记我这轮最想吃透的部分。 一句话先立住理解范围查询、排序和磁盘访问之间的关系。 我这次真正记住的点 多路树降低高度 叶子节点有序便于范围扫描 联合索引遵循最左前缀 为什么我会专门记这块因为它很容易出现一种错觉:看资料的时候觉得自己会了,真到写接口、改 SQL、配事务、看线程池参数时又开始发虚。 我现在尽量把知识点挂到一个具体场景上:分析 where...
1…121314…19
avatar
Jing
软件开发工程师,记录技术、项目和排障经验。
文章
148
标签
23
分类
3
最新文章
从一次接口超时看后端排查顺序2026-07-08
日志不是越多越好2026-07-08
接口返回值要为前端留出判断空间2026-07-08
DTO 和 Entity 之间应该有边界2026-07-08
缓存一致性要先讲业务容忍度2026-07-08
分类
  • 开发调优94
  • 技术分享23
  • 杂七杂八31
归档
  • 七月 2026 39
  • 六月 2026 16
  • 五月 2026 6
  • 四月 2026 7
  • 三月 2026 6
  • 二月 2026 4
  • 一月 2026 7
  • 十二月 2025 5
© 2026 By Jing框架 Hexo 7.3.0|主题 Butterfly 5.5.5
保持记录,持续复盘。
搜索
数据加载中