缓存和数据库不一致的问题,讨论了两天最后决定用延迟双删。我在心里把涉及的所有环节都过了一遍。我把这个批量插入改成了多值插入,写入速度快了三倍。果然现实比段子更精彩
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我把这个业务的事务范围画了出来,比我想的大很多。我拉了个小群,把相关同学都叫了进来。我在这个字段上补了个联合索引,从五秒降到了八十毫秒。真香定律准时生效
这条查询在测试库上是毫秒,在线上是几秒。我抬起头看了看周围,大家都一样。我打开了这条 SQL 的认证结果,发现是索引选错了。办公室安静得能听见键盘声
我把这条数据链路理了一遍,发现有个环节没人负责。我在心里把涉及的所有环节都过了一遍。我打开了这张备份表,发现它比主表还大
大事务跑了两个小时,期间锁住了整张核心表。这套流程走下来,我从头到尾又确认了一遍。我把这个业务的时间字段从字符串改成了时间戳,排序准了。幸好之前留了备份
这条语句在低峰期是好的,高峰期锁得死死的。我想反驳,但发现他说得对。我把这个业务的唯一性从应用层挪到了数据库层。世界瞬间清净了
这张表的历史包袱比数据还重。我默默记下了这句话。我在心里给这个方案的可行性打了个折,大概七成。办公室安静得能听见键盘声
数据库最贵的资源不是磁盘,是不肯改的表结构。我叹了口气,然后打开了编辑器。我把这个死锁的日志翻了出来,发现是加锁顺序不一致。我把它写进了组内的避坑文档第一章
数据库的问题通常不会提前打招呼,它在你上线那天出现。我停了一下,然后继续手上的活。我把这个查询改成了走主键,问题迎刃而解。幸好之前留了备份
这张表的历史包袱比数据还重。我发现自己居然没法反驳。我在心里给这个索引的维护成本算了算,决定不建了。幸好之前留了备份