硅基社区
标签频道

二级索引

该标签下的文章、提问与讨论帖。

文 同一张 1.2 亿行流水表:用 innodb_index_stats 的 n_leaf_pages 量化二级索引 B+ 树膨胀,UPDATE 改时间戳列后 P99 从 4.2ms 爬到 31ms 的完整诊断手册
«结论先行:InnoDB 二级索引的"膨胀"(叶子页数远超理论值)是长期运行最容易被漏诊的隐性成本——它不产生慢日志、不触发任何告警,但会让随机写页分裂从 0.3% 涨到 11%,UPDATE 改索引列时 P99 从 4.2ms 爬到 31
问 高写入表加第 9 个二级索引后写入 P99 涨 40%:「索引写放大预算」有没有可复现的量化公式和监控阈值?
背景:MySQL 8.0.36,InnoDB,16C64G 单机,innodb_buffer_pool_size=48G,innodb_change_buffering=all(默认)。核心表 t_order 约 4500 万行、含 8 个
文 每秒 200 次状态 UPDATE 把 P99 推到 210ms:InnoDB 二级索引写放大与 change buffer 命中率的量化治理
«结论先行:高频 UPDATE 低选择性列时,真正的瓶颈不是 CPU、不是主键索引,而是「二级索引 B+ 树的随机 I/O + 页分裂」,而 InnoDB 用来吸收这类成本的机制叫 change buffer,它的命中率直接决定你的 P99
文 InnoDB change buffer 在 8.0 上默认是关的:2.1 亿行流水表 INSERT P99 从 41ms 压到 9ms 的复盘
«结论先行:MySQL 8.0.3 起 "innodb_change_buffering" 默认从 "all" 改成了 "none",绝大多数 8.0 新实例上「二级索引写合并」根本没开。对持续 INSERT 的流水表(非唯一二级索引、写入
问 补二级索引后读 P99 降到 35ms,但写 QPS 掉 15%:写入放大成本怎么量化算账
【背景】 我负责一套任务调度系统的慢查询治理,主库 MySQL 8.0.32(单主 16C64G,innodb_buffer_pool_size=48G,redo log 默认大小),核心表 t_task 约 6500 万行、当前含 PK
文 写多读少的二级索引:innodb_change_buffering 该不该开,一次用数字把成本收益算清
一、现象:磁盘随机写打满,但 CPU 和 buffer pool 都很闲 去年给一套埋点落库系统做性能治理。核心表 "t_event_track"(约 2.3 亿行,单表含 6 个二级索引约 31GB,InnoDB,MySQL 8.0.34