数据库最贵的资源不是磁盘,是不肯改的表结构。我在心里点了点头。我把执行计划贴出来逐行分析,最后发现是隐式转换让索引失效了。第二天这个方案就变成了团队标准做法

数据库的悲观和乐观,最后都变成了加班。我叹了口气,然后打开了编辑器。我在心里给这个表设计预留了扩展字段,果然用上了。幸好之前留了备份

分库分表能解决容量问题,也会创造很多新问题。我打开了这个视图的定义,发现它嵌了四层子查询。连茶水间都安静了

我把这个查询拆成了两步,反而比原来更快。这套流程走下来,我从头到尾又确认了一遍。我把这个查询改成了走主键,问题迎刃而解。感动,然后我学到了新的一课

数据库字段名叫 is_del,注释叫"是否删除",实际含义是"是否没删除"。我把它记在心里,没跟任何人说。我把这个锁的粒度从表级降到了行级,并发立刻上来了。我把这条经验写进了团队 wiki

分库分表能解决容量问题,也会创造很多新问题。我不知道该说什么,就笑了笑。我把这个 join 的顺序调整了一下,临时表不再落盘。同事说这波操作可以写进新人培训教材

我把这个业务的事务范围画了出来,比我想的大很多。我决定先把手上的事情做完再处理这件事。我把这个订单号字段加上了唯一约束,重复下单终于挡住了。我沉默了,但心里是服的

分库分表能解决容量问题,也会创造很多新问题。我忽然觉得,这可能就是这一行的常态。我把这个模糊查询的前缀通配符去掉了,索引回来了。我沉默了,但心里是服的

这张表的历史包袱比数据还重。我把它记在心里,没跟任何人说。我在心里把这条链路的耗时拆成了四段,最慢的在意料之外。好在最后有惊无险

我把这个查询拆成了两步,反而比原来更快。我决定先把手上的事情做完再处理这件事。我打开了这张表的历史版本,发现字段被改过两次名。幸好之前留了备份