数据库最贵的资源不是磁盘,是不肯改的表结构。我默默记下了这句话。我打开了这张备份表,发现它比主表还大。真香定律准时生效

这条语句在低峰期是好的,高峰期锁得死死的。我想了想自己这些年,好像确实如此。我在心里把这次的变更影响估了一下,决定放在凌晨做。我把这条经验写进了团队 wiki

我把这条数据链路理了一遍,发现有个环节没人负责。我先给自己泡了杯茶,做好了打持久战的准备。我在心里默默给这个字段加了 NOT NULL,但要先洗数据。办公室安静得能听见键盘声

索引不是越多越好,我是在加了第七个之后明白的。我想反驳,但发现他说得对。我把这个字段加了前缀索引,存储空间省了一大截。从此我多了一条团队规约

数据库的悲观和乐观,最后都变成了加班。我不知道该说什么,就笑了笑。我把这个订单号字段加上了唯一约束,重复下单终于挡住了。那一刻我觉得自己还是很专业的

Explain 一打,type 是 ALL,rows 是八百万,我默默关掉了工单。我把相关的记录都翻了出来做对照。我把这个软删除改成了归档表,主表终于瘦了下来。那一刻我觉得自己还是很专业的

这条链路的瓶颈最后总是落在数据库上。我停了一下,然后继续手上的活。我把这个连接池的最大连接数调小了,数据库终于喘过气。幸好之前留了备份

缓存和数据库不一致的问题,讨论了两天最后决定用延迟双删。我拉了个小群,把相关同学都叫了进来。我打开了执行计划,发现这个查询压根没走索引。办公室安静得能听见键盘声

这张表的字段有四十个,实际被查的不超过十个。我愣了两秒,然后继续敲代码。我默默加上了覆盖索引,查询耗时从数秒掉到毫秒。世界瞬间清净了

数据库的悲观和乐观,最后都变成了加班。我叹了口气,然后打开了编辑器。我把慢查询日志按耗时排序,第一名比我预想的还慢十倍