美文网首页MySQL
54-MySQL监控分析视图-sys schema

54-MySQL监控分析视图-sys schema

作者: 紫荆秋雪_文 | 来源:发表于2022-10-27 18:09 被阅读0次

    一、 Sys schema视图摘要

    1. 主机相关:host_summary开头,主要汇总了IO延迟的信息。
    2. Innodb相关:以innodb开头,汇总了innodb buffer信息和事务等待innodb锁的信息。3. I/o相关:`以io开头,汇总了等待I/O、I/O使用量情况。

    4. 内存使用情况:以memory开头,从主机、线程、事件等角度展示内存的使用情况

    5. 连接与会话信息:processlist和session相关视图,总结了会话相关信息。

    6. 表相关:以schema_table开头的视图,展示了表的统计信息。

    7. 索引信息:统计了索引的使用情况,包含冗余索引和未使用的索引情况。

    8. 语句相关:以statement开头,包含执行全表扫描、使用临时表、排序等的语句信息。

    9. 用户相关:以user开头的视图,统计了用户使用的文件I/O、执行语句统计信息。

    10. 等待事件相关信息:以wait开头,展示等待事件的延迟情况。

    二、 Sys schema视图使用场景

    2.1、索引相关

    2.1.1、查询冗余索引

    SELECT *
    FROM sys.schema_redundant_indexes;
    

    2.1.2、查询未使用过的索引

    SELECT *
    FROM sys.schema_unused_indexes;
    

    2.1.3、查询索引的使用情况

    SELECT index_name, rows_selected, rows_inserted, rows_updated, rows_deleted
    FROM sys.schema_index_statistics
    WHERE table_schema = 'dbname';
    

    2.2、表相关

    2.2.1、 查询表的访问量

    SELECT table_schema, table_name, SUM(io_read_requests + io_write_requests) AS io
    FROM sys.schema_table_statistics
    GROUP BY table_schema, table_name
    ORDER BY io DESC;
    

    2.2.2、 查询占用bufferpool较多的表

    SELECT object_schema, object_name, allocated, data
    FROM sys.innodb_buffer_stats_by_table
    ORDER BY allocated
    LIMIT 10;
    

    2.2.3、查看表的全表扫描情况

    SELECT *
    FROM sys.statements_with_full_table_scans
    WHERE db = 'dbname';
    

    2.3、语句相关

    2.3.1、监控SQL执行的频率

    SELECT db, exec_count, query
    FROM sys.statement_analysis
    ORDER BY exec_count DESC;
    

    2.3.2、监控使用了排序的SQL

    SELECT db, exec_count, first_seen, last_seen, query
    FROM sys.statements_with_sorting
    LIMIT 1;
    

    2.3.3、监控使用了临时表或者磁盘临时表的SQL

    SELECT db, exec_count, tmp_tables, tmp_disk_tables, query
    FROM sys.statement_analysis
    WHERE tmp_tables > 0
       OR tmp_disk_tables > 0
    ORDER BY (tmp_tables + tmp_disk_tables) DESC;
    

    2.4、IO相关

    2.4.1、查看消耗磁盘IO的文件

    SELECT file, avg_read, avg_write, avg_read + avg_write AS avg_io
    FROM sys.io_global_by_file_by_bytes
    ORDER BY avg_read
    LIMIT 10;
    

    2.5、Innodb相关

    2.5.1、行锁阻塞情况

    SELECT *
    FROM sys.innodb_lock_waits;
    

    相关文章

      网友评论

        本文标题:54-MySQL监控分析视图-sys schema

        本文链接:https://www.haomeiwen.com/subject/rnittdtx.html