MySQL - 系统库之 sys

sys 系统库用于管理和监控MySQL服务器的性能和运行状态:

用途

  • 性能监控和分析sys 系统库用于监控MySQL服务器的性能和资源利用情况。它提供了各种视图和函数,用于分析查询性能、资源利用、等待事件等方面的数据。
  • 性能调优sys 系统库可帮助我们识别性能问题和瓶颈,以进行性能调优。通过分析性能数据,可以采取措施来改善查询性能和数据库服务器的整体性能。
  • 查询执行计划sys 系统库提供了视图,用于查看和分析查询执行计划。这有助于了解查询是如何执行的,以便进行优化。
  • 资源利用监控 :通过监控资源利用情况,sys 系统库可以帮助管理员识别哪些资源(例如CPU、内存、磁盘)被占用,以及是否存在资源瓶颈。
  • 等待事件分析sys 系统库提供了有关等待事件的信息,帮助我们了解哪些查询或操作正在等待资源,以及等待的原因。

示例查询:

  • 查询执行时间最长的查询摘要:

    复制代码
    SELECT * FROM sys.statement_analysis
    ORDER BY total_latency DESC
    LIMIT 10;
  • 查看等待事件统计:

    复制代码
    SELECT * FROM sys.waits_global_by_latency
    ORDER BY total_latency DESC
    LIMIT 10;
  • 查看查询执行计划(返回一个json):

    复制代码
    EXPLAIN FORMAT=JSON SELECT * FROM 表名 WHERE 条件;

performance_schema的对比:

特性 sys 系统库 performance_schema
主要用途 查询执行分析、性能调优、等待事件分析 性能监控、性能分析、资源利用监控、等待事件分析
性能数据类型 主要关注查询执行分析、等待事件、性能数据 提供广泛的性能数据,包括查询执行、锁等待、I/O操作、连接信息等
使用方法 提供易于理解和使用的查询和函数 提供多个表和视图,需要编写更复杂的查询和分析
相关推荐
会编程的林俊杰10 分钟前
MySQL中的锁有哪些
数据库·mysql
cts61812 分钟前
Milvus分布式数据库工作职责
数据库·分布式·milvus
周胡杰12 分钟前
鸿蒙加载预置数据库-关系型数据库-如何读取本地/预制数据库
数据库·华为·harmonyos·鸿蒙
布朗克16816 分钟前
java常见的jvm内存分析工具
java·jvm·数据库
胡八一23 分钟前
SQLite / LiteDB 单文件数据库为何“清空表后仍占几 GB”?——原理解析与空间回收实战
jvm·数据库·sqlite
2401_831501731 小时前
Linux之Zabbix分布式监控篇(二)
数据库·分布式·zabbix
秋林辉2 小时前
Jfinal+SQLite处理 sqlite数据库执行FIND_IN_SET报错
jvm·数据库·sqlite
巴里巴气6 小时前
MongoDB复杂查询 聚合框架
数据库·mongodb
scheduleTTe8 小时前
SQL增查
数据库·sql