上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
9.6 查看未使用的索引
使用schema_unused_indexes视图可以查看不活跃的索引(没有任何事件发生的索引,表示该索引从未使用过),在默认情况下按照schema名称和表名进行排序。数据来源:performance_schema.table_io_waits_summary_by_index_usage,该视图在服务器启动并运行足够长的时间后,所查询出的数据才比较实用;否则,使用该视图查询出的数据可能并不十分可靠,因为统计的数据可能并不精确,有一部分业务查询逻辑可能还来不及查询。
下面是使用schema_unused_indexes视图查询的结果集。
mysql> select * from schema_unused_indexes limit 3;
+---------------+-------------+-------------------+
| object_schema | object_name | index_name |
+---------------+-------------+-------------------+
| luoxiaobo | public_num | public_name_index |
| sbtest | sbtest1 | k_1 |
| sbtest | sbtest2 | k_2 |
+---------------+-------------+-------------------+
3 rows in set(0.00 sec)
下面贴出视图查询语句文本。
SELECT object_schema, object_name, index_name FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL AND count_star = 0 AND object_schema ! = 'mysql' AND index_name ! = 'PRIMARY' ORDER BY object_schema, object_name;