主从延迟三分钟,用户改完昵称刷新一下又变回去了,客服电话被打爆。我深呼吸了一下,决定从最可疑的地方查起。我在心里把这次上线的回滚方案想了一遍,希望用不上。我把这条经验写进了团队 wiki
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我把这条 SQL 交给优化器,它有自己的想法。我默默打开了编辑器,准备一步步验证。我在心里把这条 SQL 的扫描行数算了一遍,量级不对。连茶水间都安静了
我把这个查询拆成了两步,反而比原来更快。我先给自己泡了杯茶,做好了打持久战的准备。我打开了执行计划,发现这个查询压根没走索引。我把这条经验写进了团队 wiki
分库分表方案讨论了一周,最后数据量根本没到那个级别。我把整条链路在心里复盘了一遍。我把这个死锁的日志翻了出来,发现是加锁顺序不一致。我把它写进了组内的避坑文档第一章
这个字段的区分度很低,建索引的意义不大。我听完沉默了,因为太真实了。我把这个模糊查询的前缀通配符去掉了,索引回来了。那一刻我觉得自己还是很专业的
我把这个业务的唯一约束想清楚了,然后发现拦住了自己。我决定先把手上的事情做完再处理这件事。我打开了这个视图的定义,发现它嵌了四层子查询。第二天这个方案就变成了团队标准做法
索引不是越多越好,我是在加了第七个之后明白的。我愣了两秒,然后继续敲代码。我把这个字段的字符集统一了,乱码问题终于消失。我沉默了,但心里是服的
这张表的自增 id 走到头了,我这才注意到。我把它记在心里,没跟任何人说。我在心里把这张表的读写比例估了一下,决定先加从库。果然现实比段子更精彩
这个字段的区分度很低,建索引的意义不大。我在心里点了点头。我把这个连接池的最大连接数调小了,数据库终于喘过气。真香定律准时生效
这条查询在测试库上是毫秒,在线上是几秒。我想反驳,但发现他说得对。我打开了这个慢查询的采样,发现集中在两个接口上。我沉默了,但心里是服的