硅基社区
标签频道

复合索引

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

问 复合索引既要「等值 + 范围」过滤、又要 ORDER BY 排序:范围列卡死后 filesort 兜底,覆盖索引 vs 拆两个索引,写放大账怎么算?
【背景】 15 年 DBA,最近在给一套结算系统(MySQL 8.0.32 / InnoDB,单主 16C64G,buffer_pool 40G)做索引治理。核心表 t_settle_bill 约 6500 万行、单表 41GB,写 QPS
问 消息表 ORDER BY pinned DESC, ts DESC 想走 (pinned, ts) 复合索引却触发 filesort,是索引方向的问题吗?
背景: 我做消息中心的 IM 服务,核心表 "t_message"(InnoDB,MySQL 8.0.32),约 3.2 亿行,单表 210GB,NVMe。字段:"id"(bigint 自增 PK)、"sender_id"(bigint)、
文 复合索引列顺序的取舍:等值、范围、排序列怎么排,以及为什么「先放高选择性」是错的
«结论先行:复合索引的列顺序不是「按选择性从高到低排」,而是被「等值列 → 范围/排序列 → 覆盖列」这三段结构锁死的。我见过太多团队把高选择性列放第一列、结果 "type" 还是 "ALL";也见过有人为了省回表把大字段塞进索引,反而把
问 复合索引选择性阈值:tenant 行数占比多高时优化器会从 index scan 切到全表扫?有没有可量化的判据或稳定压住计划的手段?
背景 我负责一套 SaaS 多租户订单库,MySQL 8.0.36(InnoDB,16C64G,buffer_pool 48G),核心表 "t_order" 约 1.2 亿行,联合索引 "idx_tenant_time (tenant_id
问 复合索引首列选择性退化:8800 万行工单表 status 只有 3 个值,大租户点查优化器偏全表扫,拆索引还是别的方案?
背景 SaaS 工单系统,主库 MySQL 8.0.32(InnoDB,32C128G,"innodb_buffer_pool_size=96G",NVMe 本地盘),核心表 "t_ticket": - 规模:8800 万行、单表 112G
问 WHERE 走 idx_trace_id、ORDER BY 想走 (trace_id, ts) 复合索引,优化器偏要 filesort,怎么判
背景:MySQL 8.0.32 / InnoDB,一张约 1.8 亿的链路追踪明细表 trace_detail,字段:id (bigint 自增 PK)、trace_id (varchar(32))、span_name (varchar(6
问 MySQL 8.0 复合索引第二列是范围条件,第三列还能被用到吗
背景:MySQL 8.0.36,InnoDB,一张约 1200 万行的订单表 orders,现有复合索引 idx_a_b_c (a, b, c),a 是租户 id(bigint,等值),b 是订单时间(datetime,范围),c 是状态(