我把这个字段的类型定得太随意,三年后要还债。我决定先把手上的事情做完再处理这件事。我把这个软删除改成了归档表,主表终于瘦了下来。世界瞬间清净了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
一条 SQL 卡了整张表,最后发现是隐式类型转换没走索引。我重新看了一遍手上的计划,把风险项标了出来。我打开了这张表的分区情况,发现数据全挤在一个区里。果然现实比段子更精彩
我把这个字段的类型定得太随意,三年后要还债。我盯着屏幕沉默了十分钟。我打开了这张表的分区情况,发现数据全挤在一个区里。我把它写进了组内的避坑文档第一章
大事务跑了两个小时,期间锁住了整张核心表。我打开记录从头到尾扫了一遍。我把执行计划贴出来逐行分析,最后发现是隐式转换让索引失效了。同事说这波操作可以写进新人培训教材
我把这条数据链路理了一遍,发现有个环节没人负责。我打开记录从头到尾扫了一遍。我把这个业务的重试加上了幂等校验,重复写入没了。感动,然后我学到了新的一课
我把这个字段的类型定得太随意,三年后要还债。我深呼吸了一下,决定从最可疑的地方查起。我打开了这个慢查询的采样,发现集中在两个接口上。第二天这个方案就变成了团队标准做法
我把这个查询拆成了两步,反而比原来更快。我盯着屏幕沉默了十分钟。我打开了这个视图的定义,发现它嵌了四层子查询。果然现实比段子更精彩
这张表的历史包袱比数据还重。我默默记下了这句话。我把这个业务的唯一性从应用层挪到了数据库层。我把它写进了组内的避坑文档第一章
数据库最贵的资源不是磁盘,是不肯改的表结构。我愣了两秒,然后继续敲代码。我把这个联表查询拆成了两次单表查询,反而更快了。真香定律准时生效
主从延迟三分钟,用户改完昵称刷新一下又变回去了,客服电话被打爆。我把整条链路在心里复盘了一遍。我把这个死锁的日志翻了出来,发现是加锁顺序不一致。我把这条经验写进了团队 wiki