首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从sys.schema_unused_indexes到INVISIBLE:安全删除冗余索引的完整流程

从sys.schema_unused_indexes到INVISIBLE:安全删除冗余索引的完整流程

作者头像
这个DBA有点耶
发布于 2026-11-10 15:18:32
发布于 2026-11-10 15:18:32
200
举报
概述
索引膨胀是写入性能的隐性杀手,但直接删除索引的风险同样很高——季度报表可能依赖它,优化器的执行计划可能因此改变。MySQL 8.0的不可见索引提供了一种“灰度删除”的中间态:索引仍然维护,但优化器默认忽略它。本文拆解不可见索引的生效机制、三个容易被误用的边界(主键与隐式主键、FORCE INDEX、唯一约束),并给出基于sys.schema_unused_indexes的灰度删索引实操流程。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、不可见索引的生效机制
  • 二、边界一:主键和“隐式主键”不可设为不可见
  • 三、边界二:FORCE INDEX 也救不了不可见索引
  • 四、边界三:不可见 ≠ 约束失效
  • 五、灰度删索引的实操流程
  • 六、另一个用途:索引的“灰度上线”
  • 七、小结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档