做DBA之前,我觉得“自增主键跳号”顶多算个强迫症问题。看着ID从 1,2,3 变成 10,11,心里膈应一下也就过去了。
乐园票务系统在节假日经常面临同一个问题:同一个游玩项目、同一个场次的库存,可能同时在官网、小程序、OTA 平台、线下窗口四个渠道售卖。如果各渠道各自扣减库存,超...
在开发中经常需要统计表中的行数,COUNT(*) 和 COUNT(1) 是两种常见的写法。很多开发者听说 COUNT(1) 比 COUNT(*) 快,或者反过来...
上个月重构一个复杂的财务对账报表,为了消灭那一坨嵌套极深的子查询,我用 WITH ... AS (CTE,公共表表达式) 写了一长串极其清晰的逻辑。代码层层递进...
最近在排查一个线上问题时遇到了典型的数据库连接泄漏现象:应用运行一段时间后,接口响应变慢,最终大量请求超时,日志里开始出现 Cannot get a conne...
上个月同一周来了两个投诉。运营说订单列表翻到第三页,看到了第一页的订单。财务说月度导出少了几十单,金额对不上。
检票是景区票务系统中请求密度最高、对实时性要求最严的环节。游客通过闸机时,系统需要在极短时间内完成电子票校验、状态更新和人流计数,任何一次卡顿都可能造成闸口排队...
上周一条报表 JOIN 从两百毫秒变成两秒,我第一反应是索引掉了。看了一遍,两边连接列都有索引,一个都没少。再跑 EXPLAIN,驱动表从订单表换成了用户表。订...
前几天,有个开发同学火急火燎地来找我:“小耶,见鬼了!我给 status 字段加了个索引,查询不但没变快,反而从 0.5 秒变成了 5 秒!把索引一删,又秒回了...
页面慢的时候,直接装缓存插件或批量压图片,会把判断依据弄丢。先测主文档的 TTFB 和用户侧链路;缓存、图片、插件查询、主机都要在有对照数据的条件下再动。
凌晨一点,手机在床头震。客户车间的值班员声音发闷:"大屏上十几个点位全断了,数据不刷新了。"
上个月底跑对账,批处理一开,接口开始超时。CPU 只有 30%,慢查询日志里一条慢 SQL 都没有。我盯着 SQL 看了半小时,最后在 iostat 里看到 w...
把 MySQL 存量复制到金仓之后,业务仍会修改和删除数据。若只按自增 ID 继续查询,新记录能够进入目标,旧记录的修改与物理删除却可能被遗漏。
建了索引却不生效,是 MySQL 性能问题里最常见的一类。多数情况出在联合索引的列顺序和查询写法上。本文以 InnoDB 为例,用一张订单表说明联合索引怎么设计...
月初对账,结算表比支付表少了一批订单。我第一反应是同步漏了,先把同步任务翻了一遍。日志正常,延迟也正常,数据一条没丢。再跑对账 SQL,结果直接是空的。SQL ...
前阵子遇到一次极其典型的生产事故:凌晨2点,我在主库给一张8000万行的核心交易表加了个字段。