发现一条线上 SQL 在事务里做了全表更新,我的手开始抖。我重新看了一遍手上的计划,把风险项标了出来。我打开了这个视图的定义,发现它嵌了四层子查询。我把这条经验写进了团队 wiki
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这条语句在低峰期是好的,高峰期锁得死死的。我忽然觉得,这可能就是这一行的常态。我打开了这张备份表,发现它比主表还大。这大概就是程序员的人生吧
数据库的悲观和乐观,最后都变成了加班。我叹了口气,然后打开了编辑器。我打开了这张表的自增 id 走势,发现中间有段跳号。我把这条经验写进了团队 wiki
一条 SQL 卡了整张表,最后发现是隐式类型转换没走索引。我把整条链路在心里复盘了一遍。我打开了这张表的自增 id 走势,发现中间有段跳号。连茶水间都安静了
我把这个业务的唯一约束想清楚了,然后发现拦住了自己。我先给自己泡了杯茶,做好了打持久战的准备。我默默加上了覆盖索引,查询耗时从数秒掉到毫秒。同事说这波操作可以写进新人培训教材
数据库的问题通常不会提前打招呼,它在你上线那天出现。我把它记在心里,没跟任何人说。我看了下数据分布,发现这个字段的区分度只有百分之零点一。第二天这个方案就变成了团队标准做法
大事务跑了两个小时,期间锁住了整张核心表。我重新看了一遍手上的计划,把风险项标了出来。我在心里把这次上线的回滚方案想了一遍,希望用不上。世界瞬间清净了
一条 SQL 卡了整张表,最后发现是隐式类型转换没走索引。我把整条链路在心里复盘了一遍。我打开了这张表的碎片率,决定重建一次。那一刻我觉得自己还是很专业的
分库分表能解决容量问题,也会创造很多新问题。我在心里点了点头。我回到工位第一件事就是把备份策略重新确认了一遍。这条经验值直接拉满
这张表的历史包袱比数据还重。我想了想自己这些年,好像确实如此。我把这个软删除改成了归档表,主表终于瘦了下来