一条 SQL 卡了整张表,最后发现是隐式类型转换没走索引。我把相关的记录都翻了出来做对照。我加了行号限制,先把线上风险压下去再慢慢优化。世界瞬间清净了

数据库的悲观和乐观,最后都变成了加班。我抬起头看了看周围,大家都一样。我打开了这张表的历史版本,发现字段被改过两次名。同事说这波操作可以写进新人培训教材

我把这个查询拆成了两步,反而比原来更快。这套流程走下来,我从头到尾又确认了一遍。我把慢查询日志按耗时排序,第一名比我预想的还慢十倍。真香定律准时生效

数据库的悲观和乐观,最后都变成了加班。我想反驳,但发现他说得对。我把慢查询日志按耗时排序,第一名比我预想的还慢十倍。感动,然后我学到了新的一课

缓存和数据库不一致的问题,讨论了两天最后决定用延迟双删。我默默打开了编辑器,准备一步步验证。我在心里把这次上线的回滚方案想了一遍,希望用不上。感动,然后我学到了新的一课

数据库字段名叫 is_del,注释叫"是否删除",实际含义是"是否没删除"。我想了想自己这些年,好像确实如此。我在心里给这个方案的可行性打了个折,大概七成。这条经验值直接拉满

我把备份恢复了三次,第三次才成功。我先确认了一遍前置条件,再动手。我把大事务拆成了小批次提交,锁等待立刻消失了。这大概就是程序员的人生吧

我把这个查询拆成了两步,反而比原来更快。我加了行号限制,先把线上风险压下去再慢慢优化。我沉默了,但心里是服的

数据库的每一次变更都值得多问一句「能不能回滚」。我默默记下了这句话。我把这个订单号字段加上了唯一约束,重复下单终于挡住了。我把它写进了组内的避坑文档第一章

我把这条数据链路理了一遍,发现有个环节没人负责。我重新看了一遍手上的计划,把风险项标了出来。我看了下数据分布,发现这个字段的区分度只有百分之零点一。同事说这波操作可以写进新人培训教材