GreatSQL社区

搜索

chongzh

Mysql如何监视特定表的索引使用情况

chongzh 已有 265 次阅读2023-9-9 21:23 |个人分类:Mysql 原理|系统分类:原理&产品解读


performance_schema.table_io_waits_summary_by_index_usage 表聚合了由wait/io/table/sql/handler工具生成的所有表索引I/O等待事件。它可以用来监视表的索引使用情况。当服务器启动和处理的时间足够长以至于其工作负载具有代表性时,评估表索引的有效性应该是有用的。

列INDEX_NAME对应于记录表I/O等待事件时使用的索引的名称。PRIMARY值表示表I/O使用了主索引。

列COUNT_STAR聚合了相应INDEX_NAME的所有I/O操作。NULL意味着表I/O不使用索引。

查看wait/io/table/sql/handler 是否开启 表索引I/O等待事件统计功能

select * from performance_schema.setup_instruments where NAME="wait/io/table/sql/handler"

查看业务库没有使用的索引

SELECT
OBJECT_SCHEMA,OBJECT_NAME,INDEX_NAME,COUNT_STAR
FROM performance_schema.table_io_waits_summary_by_index_usage
WHERE INDEX_NAME IS NOT NULL
AND COUNT_STAR = 0
AND OBJECT_SCHEMA  NOT IN ('SYS','MYSQL','INFORMATION_SCHEMA','PERFORMANCE_SCHEMA') AND OBJECT_SCHEMA = 'dbname'
ORDER BY OBJECT_SCHEMA,OBJECT_NAME;


查看某库某表的索引使用情况

SELECT OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, COUNT_STAR
    FROM performance_schema.table_io_waits_summary_by_index_usage
    WHERE OBJECT_SCHEMA = 'dbname' AND OBJECT_NAME = 'tablename';

TRUNCATE  table_io_waits_summary_by_index_usage表,它将汇总列重置为零。更改表的索引结构的DDL操作可能会导致重置每个索引的统计信息。

-- 演示统计信息置0  


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-4-29 04:03 , Processed in 0.012940 second(s), 8 queries , Redis On.
返回顶部