mysql查看索引执行情况`performance_schema`.`table_io_waits_summary_by_index_usage`

MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。本文主要介绍查看索引执行情况的表table_io_waits_summary_by_index_usage。

一、查看是否开启收集数据库服务器性能参数
SHOW VARIABLES LIKE 'performance_schema'
1
二、查看表的内容
SELECT * FROM `performance_schema`.`table_io_waits_summary_by_index_usage`
1
三、各字段的详解
COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT
这些列汇总所有I / O操作。它们与对应的xxx_READ 和 xxx_WRITE 列的总和相同 。

COUNT_READ, SUM_TIMER_READ, MIN_TIMER_READ, AVG_TIMER_READ, MAX_TIMER_READ
这些列汇总所有读取操作。它们与相应xxx_FETCH 列的总和相同 。

COUNT_WRITE, SUM_TIMER_WRITE, MIN_TIMER_WRITE, AVG_TIMER_WRITE, MAX_TIMER_WRITE
这些列汇总所有写操作。他们是一样的相应的总和 xxx_INSERT, xxx_UPDATE和 xxx_DELETE 列。

COUNT_FETCH, SUM_TIMER_FETCH, MIN_TIMER_FETCH, AVG_TIMER_FETCH, MAX_TIMER_FETCH
这些列汇总所有提取操作。

COUNT_INSERT, SUM_TIMER_INSERT, MIN_TIMER_INSERT, AVG_TIMER_INSERT, MAX_TIMER_INSERT
这些列汇总所有插入操作。

COUNT_UPDATE, SUM_TIMER_UPDATE, MIN_TIMER_UPDATE, AVG_TIMER_UPDATE, MAX_TIMER_UPDATE
这些列汇总所有更新操作。

COUNT_DELETE, SUM_TIMER_DELETE, MIN_TIMER_DELETE, AVG_TIMER_DELETE, MAX_TIMER_DELETE
这些列汇总了所有删除操作。

值PRIMARY表示表I / O使用了主索引。
值NULL表示表I / O不使用索引。
插入计数为INDEX_NAME = NULL。
注意:以上的时间单位为皮秒(1秒=1×10^12皮秒)

四、一些常用的查询
1.查看冗余索引
SELECT
    * 
FROM
    `performance_schema`.`table_io_waits_summary_by_index_usage` 
WHERE
    COUNT_STAR = 0 
    AND SUM_TIMER_WAIT = 0

总的使用次数和总时长都为0的情况一般有 可能 是冗余索引,冗余索引会导致增删改的速度变慢

2.查看性能较差的索引
SELECT
    * 
FROM
    `performance_schema`.`table_io_waits_summary_by_index_usage` 
ORDER BY
    MAX_TIMER_WAIT DESC

3.查看某张表是否有不使用索引的情况
SELECT
    * 
FROM
    `performance_schema`.`table_io_waits_summary_by_index_usage` 
WHERE
    OBJECT_NAME = 'table_name' 
    AND INDEX_NAME IS NULL

还有其他更多的使用方式大家可以自己挖掘
ps:这里面的数据都是累计的,所以大家可以按天进行对比的这种类似方式,还有好像是进行了DDL的操作就会清空统计,目前我还没实验过
最后附上官方文档的链接:https://dev.mysql.com/doc/refman/5.7/en/table-waits-summary-tables.html#table-io-waits-summary-by-index-usage-table
————————————————
版权声明:本文为优快云博主「不打代码的程序员」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_39504351/article/details/101381948

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值