我第一反应是连接池打满了,赶紧连上去看Threads_connected——才300多。max_connections设的是1000。
有一次跨区域项目对账,差了一天。金额都对,笔数也对,就是几笔的日期对不上。我先怀疑数据错了,把那一整天的流水翻了个遍。交易记录都在,时间戳也在,没找出毛病。最后...
一个 "为什么 MySQL 用 B + 树做索引?" 就能从索引原理问到磁盘 IO;一个 "MVCC 怎么实现的?" 能问掉半条命。
业务方说订单表数据太多,让清理历史数据。我吭哧吭哧写了个DELETE FROM orders WHERE create_time < '2024-01-01',...
有段时间我写 SQL,总以为数据库是按我写的顺序从上往下跑的。写什么,它就按什么顺序执行。结果一个 LEFT JOIN 的过滤条件,被我写进了 WHERE。跑完...
1.将mydb9_stusys数据库下的student、sc 和course表,备份到本地主机保存为st_msg_bak.sql文件,然后将数据表恢复到自建的d...
读库不够用了就加从库、把查询拆出去——这是最直觉的扩容动作。但紧接着的问题是:写完立刻读,读到了旧数据。司机刚提现成功,刷新页面余额还是老的,工单电话马上打进来...
凌晨两点的告警里,最让人摸不着头脑的一种是 Deadlock found when trying to get lock——两个事务互相等待对方释放锁,数据库只...
分库分表之后,第一个暴露的问题往往不是查询,而是订单号:自增主键在多个库会撞号,纯时间戳在并发下会重复,UUID 又长到没法进索引。三马代驾的订单号、流水号、消...
高峰期接口报"Cannot get a connection, pool error Timeout waiting for idle object"——这个报...
三马代驾的订单表在两年里从 300 万行涨到 2.1 亿行,DBA 第一次提"该分表了"时被我们驳回了——那时候慢查询占比不到 0.2%。半年后大促一来,单表写...
三马代驾的派单服务去年有过一段黑暗期:高峰期总有司机反馈"点接单转圈",监控上数据库 CPU 却不算高。后来一条慢日志把问题钉死了——派单候选查询在某个城市走了...
代驾平台说到底是在跟钱打交道:司机今天跑了多少单、平台抽成多少、什么时候到账,这三个问题答不好,司机一定会走。三马代驾的结算体系前后推翻过两次,现在跑的这版把几...
线上接口偶发变慢,CPU 并不高,但数据库连接数堆积。这类问题多数来自少数几条慢 SQL。本文整理一套可复现的流程:开启慢查询日志、聚合定位、用 EXPLAIN...
有没有遇到过这种情况:一条SQL跑了半年都好好的,突然某天开始变慢了。SQL没改,索引没动,数据量也没暴涨,但执行计划从索引扫描变成了全表扫描。
有一次对账,两边总额差了一笔。我先怀疑是数据出错,翻了半天流水,主库那笔是好端端的。问题不在主库,在从库:同一个订单号,从库读出来的状态,跟主库写进去的不是一回...