讲师中心 微信公众号
AI工具推荐 视频效率加速

怎样使用sys schema快速找出MySQL中从未被访问的冗余索引?

小强大大_9623

小强大大_9623

发布时间:2026-09-14 07:18:16

|

153人浏览过

|

来源于php中文网

原创

sys.schema_unused_indexes不可直接采信,因其仅统计performance_schema启用后触发I/O的索引访问,忽略ORDER BY、FORCE INDEX、外键引用及低频关键SQL;且须确保performance_schema全量开启并运行24小时以上才可信。

怎样使用sys schema快速找出mysql中从未被访问的冗余索引?

直接查 sys.schema_unused_indexessys.schema_redundant_indexes 能快速筛出候选索引,但“从未被访问”不等于“能删”,必须交叉验证。

为什么 sys.schema_unused_indexes 的结果不能直接信

这个视图只反映 performance_schema 启用后、实际触发 I/O 的索引访问记录。它完全忽略:
- ORDER BYGROUP BY 依赖的索引(即使没 WHERE 条件)
- 应用层硬编码的 FORCE INDEX
- 外键约束隐式引用的索引
- 低频但关键的定时任务 SQL(比如月结报表)
更关键的是:如果 performance_schema 没开全或刚启用,COUNT_READ = 0 就是假阴性。

查之前必须激活 performance_schema 的三项配置

否则 sys.schema_unused_indexes 返回全是空或零值,毫无参考价值:
- 确认 performance_schema 已开启:SELECT VARIABLE_VALUE FROM performance_schema.global_variables WHERE VARIABLE_NAME = 'performance_schema'; 必须返回 ON
- 启用等待事件采集:UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME IN ('events_waits_current', 'events_statements_history_long');
- 启用表级 I/O 仪器:UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' WHERE NAME LIKE 'wait/io/table/%';
改完至少等 24 小时,覆盖完整业务周期,再查才可信。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载

如何用 sys.schema_redundant_indexes 判定真冗余

这个视图纯靠 DDL 结构分析,不依赖运行时数据,相对可靠,但仍有边界:
- 它能准确标出 INDEX(a)INDEX(a, b) 这类前缀完全覆盖关系,并给出 sql_drop_index 语句
- 但它不会告诉你 INDEX(a, b)INDEX(a, c) 是否真冗余——因为字段 bc 不同,功能不可替代
- 注意 dominant_index_non_uniqueredundant_index_non_unique 值:若后者为 0 且前者为 1,说明冗余索引其实是唯一约束,删前得确认业务是否依赖该唯一性校验

删除前必须跑的三步验证

哪怕两个视图都指向同一个索引,也得人工过一遍:
- 对所有核心查询(含后台任务)执行 EXPLAIN FORMAT=TRADITIONAL,重点看 Extra 字段:如果删掉后出现 Using filesortUsing temporary,说明它支撑排序/分组
- 临时禁用索引测试:ALTER TABLE t DROP INDEX idx_name;,再重跑 EXPLAIN,观察 key 字段是否切换到其他索引,或退化为 NULL
- 检查应用代码和 ORM 配置,搜索 FORCE INDEXUSE INDEX 或显式索引名字符串,这类硬编码一炸一个准

最常被跳过的环节是验证外键和唯一约束——sys.schema_redundant_indexes 不会标记它们,但删掉可能让 INSERTUPDATE 报错;而 sys.schema_unused_indexes 也不统计约束检查引发的索引访问。这两类索引得单独查 INFORMATION_SCHEMA.KEY_COLUMN_USAGEINFORMATION_SCHEMA.STATISTICS 确认。

热门AI工具

更多
UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

1913

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

1179

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

695

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2492

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

4048

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

979

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

4331

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

3922

2023.08.14

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

0

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 169人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 271人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn