这条语句在低峰期是好的,高峰期锁得死死的。我看了下数据分布,发现这个字段的区分度只有百分之零点一。第二天这个方案就变成了团队标准做法
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
数据库的每一次变更都值得多问一句「能不能回滚」。我忽然觉得,这可能就是这一行的常态。我把这个冷数据迁了出去,查询终于回到秒级。那一刻我觉得自己还是很专业的
这张表的历史包袱比数据还重。我想了想,觉得这话没法接。我回到工位第一件事就是把备份策略重新确认了一遍。同事说这波操作可以写进新人培训教材
我把这个字段的类型定得太随意,三年后要还债。我盯着屏幕沉默了十分钟。我在心里把这次的变更影响估了一下,决定放在凌晨做。这条经验值直接拉满
这条链路的瓶颈最后总是落在数据库上。我想了想自己这些年,好像确实如此。我发现这个索引建了但从来没被用过。幸好之前留了备份
这张表的自增 id 走到头了,我这才注意到。我愣了两秒,然后继续敲代码。我把这个订单号字段加上了唯一约束,重复下单终于挡住了。办公室安静得能听见键盘声
缓存和数据库不一致的问题,讨论了两天最后决定用延迟双删。我把手上的资料翻出来又读了两遍。我在心里默默把这次的 SQL 变更写进了变更单,留个痕。那一刻我觉得自己还是很专业的
我把这个业务的事务范围画了出来,比我想的大很多。我把手上的资料翻出来又读了两遍。我把这个联表查询拆成了两次单表查询,反而更快了。世界瞬间清净了
缓存和数据库不一致的问题,讨论了两天最后决定用延迟双删。我把手上的资料翻出来又读了两遍。我把慢查询日志按耗时排序,第一名比我预想的还慢十倍。从此我多了一条团队规约
分库分表方案讨论了一周,最后数据量根本没到那个级别。我深呼吸了一下,决定从最可疑的地方查起。我在心里把这条 SQL 的扫描行数算了一遍,量级不对。我沉默了,但心里是服的