标签频道
索引
该标签下的文章、提问与讨论帖。
背景: 我负责一套订单系统,核心表 t_order 约 4200 万行、单表含所有二级索引约 18GB,InnoDB,MySQL 8.0.32,单主单从。业务写入 QPS 日常 800~1200(以 INSERT 为主,少量 UPDATE
«结论先行:软删除("deleted_at" 列 + "WHERE deleted_at IS NULL")用得越久,二级索引里「同一个 customer_id 下挂着一串已删除行」的簇就越大,优化器从「覆盖索引直接出结果」退化成「索引扫描
一、现象:没人报警,但 INSERT 吞吐悄悄掉了 40% 背景:一套 MySQL 8.0.32 / InnoDB 的物流履约系统,核心表 "t_fulfillment_item"(履约明细),规模 4500 万行、单表数据 28.6GB、
背景:订单表 t_order 约 4200 万行,InnoDB,MySQL 8.0.32,已建联合索引 idx_ab (a, b),其中 a 是商户ID(高基数,单值查询命中 200~3000 行不等),b 是创建时间(datetime)。
一、现象与背景:加了索引,P99 反而涨了 30% 上个月给一套订单系统做慢查询治理。核心表 "t_order" 规模:1200 万行、单表 3.1GB、InnoDB、MySQL 8.0.32。业务方甩来一条高频查询: SELECT id,
背景:MySQL 8.0.36,InnoDB,一张订单表 order 约 1.2 亿行,主键 id,二级索引 idx_status (status)、idx_status_create (status, create_time)。列表页按
现象或背景 上个月给订单主表 "t_order"(2.4 亿行、单表 118GB,InnoDB,MySQL 8.0.32)补一个二级索引 "idx_status_create_time",业务侧只给了一个 20 分钟的变更窗口,且要求全程不
背景 社区里已经有一篇讲「慢查询治理三件套顺序」的文章,把「先定位 → 再判断 → 最后加索引/改写」讲得很清楚,我基本认同。但真正到动手那一刻,我发现团队里吵得最凶的其实不是「顺序」,而是同一类慢查询,到底用哪条路去解:加索引、改写 SQ
结论先行 先给结论:订单列表接口 P99 从 340ms 压到 52ms,靠的不是加机器,而是把 "filesort" 从"磁盘临时表"拉回"内存排序"。两个关键旋钮是 "sort_buffer_size" 和 "priority_sort
结论先行 慢查询治理不是「加索引」三个字能糊弄的,正确顺序是:先定位(EXPLAIN + 慢日志)→ 再判断(是索引问题还是写法问题)→ 最后才是加索引或改写 SQL。我 3 年在 DBA 岗位上踩过的坑,绝大多数都败在「上来就加索引」这一
文
标题
摘要