返回

MySQL自带系统数据库之一:performance_schema详解

后端

1. 简介

MySQL中自带的系统数据库之一是performance_schema数据库,该数据库用于收集和存储有关MySQL服务器性能的数据。这些数据可以用来帮助诊断性能问题、优化服务器配置并监视服务器的整体运行状况。

2. 表和视图

performance_schema数据库中包含许多表和视图,这些表和视图提供了有关各种不同性能方面的详细数据。以下是一些常见的表和视图:

  • events_statements_summary_by_digest :该表提供了有关SQL语句执行摘要的信息,包括执行次数、执行时间、总行数等。
  • events_statements_summary_by_thread :该表提供了有关每个线程执行的SQL语句摘要的信息,包括执行次数、执行时间、总行数等。
  • events_waits_current :该表提供了有关当前正在等待的事件的信息,包括等待时间、等待类型、等待的线程等。
  • events_waits_history :该表提供了有关历史等待事件的信息,包括等待时间、等待类型、等待的线程等。

视图

  • active_modules :该视图列出了所有正在使用的MySQL模块。
  • innodb_metrics :该视图提供了有关InnoDB引擎的各种指标的信息,包括表空间大小、索引大小、缓冲池大小等。
  • mysql.global_status :该视图提供了有关MySQL服务器的全局状态信息,包括连接数、查询数、更新数等。
  • mysql.slave_status :该视图提供了有关复制状态的信息,包括复制延迟、复制状态、复制线程状态等。

3. 如何使用

performance_schema数据库中的数据可以通过多种方式来使用,以下是一些常见的用途:

  • 诊断性能问题 :performance_schema数据库中的数据可以帮助诊断性能问题,例如,可以通过events_statements_summary_by_digest表来找出执行次数最多的SQL语句,然后通过分析这些SQL语句来找出性能瓶颈。
  • 优化服务器配置 :performance_schema数据库中的数据可以帮助优化服务器配置,例如,可以通过innodb_metrics视图来查看InnoDB引擎的各种指标,然后根据这些指标来调整服务器配置。
  • 监视服务器的整体运行状况 :performance_schema数据库中的数据可以帮助监视服务器的整体运行状况,例如,可以通过mysql.global_status视图来查看服务器的连接数、查询数、更新数等。

4. 总结

performance_schema数据库是MySQL自带的一个非常有用的数据库,它可以提供有关MySQL服务器性能的各种详细数据。这些数据可以用来帮助诊断性能问题、优化服务器配置并监视服务器的整体运行状况。