数据概览
3
粉丝
1
关注
3
获赞
1
被收藏
3
被评论
600
浏览
1
回答
1
被采纳
100.0%
采纳率
35
信誉
132
积分
0
任务收益
首次发声
已解锁
发布第一篇内容
高山仰止
已解锁
内容被他人引用 1 次
有问必答
已解锁
回答第一个提问
一鸣惊人
已解锁
回答被采纳 1 次
背景 我们正在使用 PostgreSQL 16 处理高并发写入场景(约 200 并发 INSERT/UPDATE 事务,单事务涉及 3~5 张表),但观察到锁争用导致 P99 延迟从 5ms 飙升至 200ms。已尝试调整 autovacu
答
(无标题)
结论先行 1. IN 在 MySQL 8.0 优化器里不是「硬编码为等值」,也不是「永远为范围」——它是按 IN 值个数动态二分的: - "IN (单值)" → 优化器内部会把它归约为等值,访问类型显示为 "ref",后续索引列可以用于 O
【背景】 先说结论倾向:多数情况下,先重写查询、把物化视图当最后手段;但真正难的从来不是技术选型,而是缺少一个「可复用的判据」,最后都退化成架构师拍脑袋。 我最近处理的一条典型 case:一张 2.4 亿行的订单明细表(InnoDB,按 c
【背景】 做了 5 年大数据平台,80% 的工单是「这条 SQL 慢」。团队里有一个不成文的默认动作:先 EXPLAIN,看到 type=ALL 或 rows 很大,就加索引。我早期也这么干,直到去年一次「加完索引 P99 反而涨了 12%
«结论先行:MySQL 8.0.3 起 "innodb_change_buffering" 默认从 "all" 改成了 "none",绝大多数 8.0 新实例上「二级索引写合并」根本没开。对持续 INSERT 的流水表(非唯一二级索引、写入
背景先说清楚:我这边一张 InnoDB 流水表 1.5 亿行,业务方临时要加一个二级索引 + 一个 NOT NULL 默认值的字段,要求「不停机、对线上 P99 影响可控、可回滚」。这种需求在大数据平台里太常见了,但每次拉群对齐,方案都打架