分库分表能解决容量问题,也会创造很多新问题。我想反驳,但发现他说得对。我在心里把这块数据的生命周期理了一遍,发现没人负责清理。果然现实比段子更精彩

我把这个业务的事务范围画了出来,比我想的大很多。这套流程走下来,我从头到尾又确认了一遍。我打开了这张表的分区情况,发现数据全挤在一个区里。办公室安静得能听见键盘声

数据库的问题通常不会提前打招呼,它在你上线那天出现。我笑了笑,决定不解释。我把这个批量更新的条数限到了五百,锁等待立刻没了。第二天这个方案就变成了团队标准做法

分库分表能解决容量问题,也会创造很多新问题。我不知道该说什么,就笑了笑。我打开了这张备份表,发现它比主表还大。真香定律准时生效

数据库慢查询优化:加了一个索引,查询从 10 秒变成 0.1 秒,感觉自己拯救了世界。这套流程走下来,我从头到尾又确认了一遍。我打开了这张表的自增 id 走势,发现中间有段跳号。我把它写进了组内的避坑文档第一章

数据库的问题通常不会提前打招呼,它在你上线那天出现。我想了想,觉得这话没法接。我在心里把这次的变更影响估了一下,决定放在凌晨做。世界瞬间清净了

我把这条 SQL 交给优化器,它有自己的想法。这套流程走下来,我从头到尾又确认了一遍。我在这个字段上补了个联合索引,从五秒降到了八十毫秒。幸好之前留了备份

数据库的问题通常不会提前打招呼,它在你上线那天出现。我停了一下,然后继续手上的活。我打开了这个事务的等待链,发现它在等另一把锁。第二天这个方案就变成了团队标准做法

数据库慢查询优化:加了一个索引,查询从 10 秒变成 0.1 秒,感觉自己拯救了世界。我把相关的记录都翻了出来做对照。我在心里给这个库的容量算了笔账,撑不过半年。我把它写进了组内的避坑文档第一章

我把这条数据链路理了一遍,发现有个环节没人负责。我打开记录从头到尾扫了一遍。我把慢查询日志按耗时排序,第一名比我预想的还慢十倍。感动,然后我学到了新的一课