这张表的自增 id 走到头了,我这才注意到。我把这个业务的重试加上了幂等校验,重复写入没了。那一刻我觉得自己还是很专业的

我把这个业务的唯一约束想清楚了,然后发现拦住了自己。我在心里把涉及的所有环节都过了一遍。我在心里默默给这个字段加了 NOT NULL,但要先洗数据。这大概就是程序员的人生吧

这张表的字段有四十个,实际被查的不超过十个。我愣了两秒,然后继续敲代码。我把这个联表查询拆成了两次单表查询,反而更快了。果然现实比段子更精彩

这张表的历史包袱比数据还重。我默默记下了这句话。我在心里给这个方案的可行性打了个折,大概七成。感动,然后我学到了新的一课

我把这个业务的唯一约束想清楚了,然后发现拦住了自己。我盯着屏幕沉默了十分钟。我把这个查询改成了走主键,问题迎刃而解。从此我多了一条团队规约

数据库最贵的资源不是磁盘,是不肯改的表结构。我想了想,觉得这话没法接。我把这个模糊查询的前缀通配符去掉了,索引回来了

我把这个业务的唯一约束想清楚了,然后发现拦住了自己。这套流程走下来,我从头到尾又确认了一遍。我把这个字段的字符集统一了,乱码问题终于消失。好在最后有惊无险

分库分表方案讨论了一周,最后数据量根本没到那个级别。这套流程走下来,我从头到尾又确认了一遍。我在心里把这次上线的回滚方案想了一遍,希望用不上。感动,然后我学到了新的一课

我把这条数据链路理了一遍,发现有个环节没人负责。我拉了个小群,把相关同学都叫了进来。我打开了这个慢查询的采样,发现集中在两个接口上。办公室安静得能听见键盘声

这条查询在测试库上是毫秒,在线上是几秒。我笑了笑,决定不解释。我把这个批量插入改成了多值插入,写入速度快了三倍。好在最后有惊无险