💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ## **2.1.performance_schema 介绍** `performance_schema`是运行在较低级别的用于监控MySQL Server运行过程中的资源消耗、资源等待等情况的一个功能特性。 `performance_schema` 数据库用于收集和存储关于 MySQL 服务器性能的数据。它为数据库管理员提供了丰富的性能指标,可以帮助分析和优化数据库的运行状况。 有以下主要特点: * **性能监控**: `performance_schema` 提供了详细的性能数据,主要用于监控数据库的运行状态,跟踪各种操作的执行情况,包括查询、连接、锁定、I/O 操作等。 * **基于事件的收集**: 它通过收集“事件”来监控 MySQL 服务器的行为。这些事件可能涉及 SQL 查询、存储过程调用、锁等待、表扫描等各类操作。事件信息可以帮助分析 SQL 查询的执行时间、查询频率等。 * **内存占用低**: 相比其他性能监控工具,`performance_schema` 设计上具有较低的资源消耗。虽然它收集大量的数据,但只在需要时才加载和处理,因此不会对 MySQL 的正常工作产生较大影响。 * **配置灵活性**: 通过配置选项,用户可以控制哪些性能数据被收集。可以根据需求选择收集特定类型的事件,或者调整采样频率,从而在性能和数据量之间找到平衡。 * **实时数据**: `performance_schema` 提供了实时性能数据,可以帮助管理员及时发现系统瓶颈或性能问题。例如,可以监控查询的延迟、表的读取次数、索引的使用情况等。 * **存储结构**: `performance_schema` 数据库包含了多个表,用于存储不同类型的性能数据。常见的表包括: - `events_waits_summary_by_instance`: 存储不同等待事件的信息。 - `events_statements_summary_by_digest`: 汇总不同 SQL 语句的执行情况。 - `thread_instances`: 监控各个线程的活动。 - `global_status`: 存储全局的 MySQL 状态信息。 - `file_instances`: 记录与文件操作相关的性能数据。 * **支持多种监控级别**: `performance_schema` 提供了不同的监控级别,允许用户根据需要选择不同的监控粒度。例如,可以选择跟踪所有查询的执行,或者仅跟踪特定的慢查询。 * **用于性能诊断和优化**: 数据库管理员通常使用 `performance_schema` 来分析慢查询、锁竞争、I/O 负载等问题。通过这些数据,管理员可以采取优化措施,例如调整索引、修改查询结构或优化数据库配置。 * **集成与兼容性**: `performance_schema` 能与其他 MySQL 工具(如 `mysqldumpslow`、`pt-query-digest` 等)结合使用,进一步增强性能分析能力。 ## **2.2.performance_schema 入门** ### **2.2.1.检查当前数据库版本是否支持** `performance_schema`被视为存储引擎,如果可用则在`INFORMATION_SCHEMA.ENGINES`表或`show engines` 查看`Support`字段是否为`YES`。 ### **2.2.2.启用performance_schema** 如果要显示启用或关闭performance_schema,则需要在`my.cnf`中添加 `performance_schema=ON|OFF`。