我把这个业务的唯一约束想清楚了,然后发现拦住了自己。我把整条链路在心里复盘了一遍。我把这个分库分表的键选成了用户 id,路由终于均匀了。我把这条经验写进了团队 wiki
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这条查询在测试库上是毫秒,在线上是几秒。我忽然觉得,这可能就是这一行的常态。我把这个模糊查询的前缀通配符去掉了,索引回来了。我把这条经验写进了团队 wiki
数据库字段名叫 is_del,注释叫"是否删除",实际含义是"是否没删除"。我把它记在心里,没跟任何人说。我在心里给这个表设计预留了扩展字段,果然用上了。第二天这个方案就变成了团队标准做法
这张表的字段有四十个,实际被查的不超过十个。我听完沉默了,因为太真实了。我打开了这张备份表,发现它比主表还大。我沉默了,但心里是服的
这张表的历史包袱比数据还重。我忽然觉得,这可能就是这一行的常态。我把这个索引建成了覆盖索引,回表彻底消失了。办公室安静得能听见键盘声
这张表的字段有四十个,实际被查的不超过十个。我想了想,觉得这话没法接。我打开了这张表的自增 id 走势,发现中间有段跳号。复盘会上我们把它列成了案例
这张表的自增 id 走到头了,我这才注意到。我愣了两秒,然后继续敲代码。我在心里把这块数据的生命周期理了一遍,发现没人负责清理。我把这条经验写进了团队 wiki
我把这条 SQL 交给优化器,它有自己的想法。我先给自己泡了杯茶,做好了打持久战的准备。我把这个字段的字符集统一了,乱码问题终于消失。果然现实比段子更精彩
一条 SQL 卡了整张表,最后发现是隐式类型转换没走索引。我先给自己泡了杯茶,做好了打持久战的准备。我打开了这张表的自增 id 走势,发现中间有段跳号。连茶水间都安静了
我把这个业务的唯一约束想清楚了,然后发现拦住了自己。我在心里把这次的变更影响估了一下,决定放在凌晨做。从此我多了一条团队规约