这张表的自增 id 走到头了,我这才注意到。我想反驳,但发现他说得对。我把这个字段的字符集统一了,乱码问题终于消失。果然现实比段子更精彩
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我把这个字段的类型定得太随意,三年后要还债。我把整条链路在心里复盘了一遍。我打开了这个慢查询的采样,发现集中在两个接口上
这张表的字段有四十个,实际被查的不超过十个。我忽然觉得,这可能就是这一行的常态。我把慢查询日志按耗时排序,第一名比我预想的还慢十倍。同事说这波操作可以写进新人培训教材
数据库的悲观和乐观,最后都变成了加班。我默默记下了这句话。我在心里给这个表设计预留了扩展字段,果然用上了。世界瞬间清净了
这条查询在测试库上是毫秒,在线上是几秒。我愣了两秒,然后继续敲代码。我打开了这条 SQL 的认证结果,发现是索引选错了。这条经验值直接拉满
数据库字段名叫 is_del,注释叫"是否删除",实际含义是"是否没删除"。我回到工位第一件事就是把备份策略重新确认了一遍。办公室安静得能听见键盘声
数据库的问题通常不会提前打招呼,它在你上线那天出现。我在心里点了点头。我打开了这张表的统计信息,发现已经一个月没更新
发现一条线上 SQL 在事务里做了全表更新,我的手开始抖。我先给自己泡了杯茶,做好了打持久战的准备。我在心里默默给这个字段加了 NOT NULL,但要先洗数据
这条语句在低峰期是好的,高峰期锁得死死的。我在心里默默把这次的 SQL 变更写进了变更单,留个痕。我把这条经验写进了团队 wiki
一张表两亿行,没有分区,索引建了八个,每个查询都全表扫。我想反驳,但发现他说得对。我在心里把这条链路的耗时拆成了四段,最慢的在意料之外。这大概就是程序员的人生吧