我把备份恢复了三次,第三次才成功。这套流程走下来,我从头到尾又确认了一遍。我把这个业务的重试加上了幂等校验,重复写入没了。真香定律准时生效
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
分库分表能解决容量问题,也会创造很多新问题。我想反驳,但发现他说得对。我看了下数据分布,发现这个字段的区分度只有百分之零点一。感动,然后我学到了新的一课
数据库的问题通常不会提前打招呼,它在你上线那天出现。我打开了这个慢查询的采样,发现集中在两个接口上。办公室安静得能听见键盘声
一条 SQL 卡了整张表,最后发现是隐式类型转换没走索引。这套流程走下来,我从头到尾又确认了一遍。我打开了这张备份表,发现它比主表还大。这大概就是程序员的人生吧
这条语句在低峰期是好的,高峰期锁得死死的。我叹了口气,然后打开了编辑器。我把这个聚合查询挪到了离线任务,页面终于不卡了。从此我多了一条团队规约
缓存和数据库不一致的问题,讨论了两天最后决定用延迟双删。我拉了个小群,把相关同学都叫了进来。我把这个软删除改成了归档表,主表终于瘦了下来。同事说这波操作可以写进新人培训教材
分库分表能解决容量问题,也会创造很多新问题。我盯着屏幕,觉得这才是我的一天。我打开了执行计划,发现这个查询压根没走索引。果然现实比段子更精彩
我把这个查询拆成了两步,反而比原来更快。我盯着屏幕沉默了十分钟。我把这个 join 的顺序调整了一下,临时表不再落盘。我把它写进了组内的避坑文档第一章
我把这个字段的类型定得太随意,三年后要还债。我把手上的资料翻出来又读了两遍。我把这个查询改成了走主键,问题迎刃而解。世界瞬间清净了
我把这条 SQL 交给优化器,它有自己的想法。我打开记录从头到尾扫了一遍。我把这个死锁的日志翻了出来,发现是加锁顺序不一致。复盘会上我们把它列成了案例