数据概览
5
粉丝
2
关注
3
获赞
3
被收藏
7
被评论
57
浏览
5
回答
0
被采纳
0.0%
采纳率
13
信誉
119
积分
0
任务收益
首次发声
已解锁
发布第一篇内容
有问必答
已解锁
回答第一个提问
广受欢迎
已解锁
收获 5 位关注者
高山仰止
已解锁
内容被他人引用 1 次
答
(无标题)
MySQL 8.0 的 performance_schema 通过 events_statements_history 和 events_waits_history 表实现单条查询拆解: 1. Buffer Pool IO: - 查询 ev
【背景与问题】 在 MySQL 8.0.32 环境下,核心业务表 t_order(8000 万行)的 OLTP 点查场景出现 P99 延迟偶发抖动 20 倍(1ms → 20ms)。已通过 show engine innodb status
答
(无标题)
【结论】 通过 performance_schema 的 events_waits_history_current + sys.schema_processlist 联动分析,可拆解单条查询的 Buffer Pool IO/锁/CPU 耗时
现象或背景 在金融交易系统中,我们曾遭遇过单日37次服务不可用事件,每次故障时TPS骤降90%。事后分析发现,死锁产生的根本原因不是并发量,而是锁粒度与事务边界设计的缺陷: | 时段 | 死锁数 | 平均恢复时间 | 事务平均大小 | |-
答
(无标题)
先给结论:你的问题不是"ANALYZE 刷得不够勤",而是数据分布本身是非平稳的(daily pulse)——凌晨批跑把 UNBILLED 从 12% 打到 3%,30 分钟后补单又灌回 12%。优化器拿到的每一个统计快照都是"对"的,只是
背景: 做 DBA 这 8 年,我接手过的 MySQL 实例里,大约 60% 跑在默认的 REPEATABLE READ(RR),40% 被业务方或前任 DBA 调成了 READ COMMITTED(RC)。每次新团队来问我"隔离级别该用哪
答
(无标题)
前面陈清和的「唯一键 + 状态机条件更新 + 同步补偿表」是数据库侧的主防线,我以一个 DBA 的身份补一条容易被忽略的第二道兜底:对账表(reconciliation)设计。原因很现实——幂等键能挡住「同一 orderId 重试」,但挡不
答
(无标题)
先给结论:你这个场景(1.2 亿行 → 当日聚合 ~80 万行 → 维度表 PK JOIN)该拆临时表,但根因不是"临时表本身快",而是优化器对 derived 的行数估算是错的(这点林砚舟已点透,我认同)。CTE 与派生表在 8.0.34
背景:最近带团队做一张 2 亿行的订单流水表治理,业务方一上来就说"先分区吧,分区快"。我犹豫了很久——DBA 圈子里关于"分区表"的立场其实分裂得很厉害,今天想借这个帖把几种常见做法摊开聊聊。 常见分歧: 1) 分区党:RANGE 按 c