performance_schema 是 MySQL 数据库中的一个内置的系统数据库,最早从MySQL5.5版本产生,这个数据库主要用于收集和存储与数据库性能相关的统计信息和指标。
使用它可以帮助运维人员对数据库性能监控、调优和故障排查提供依据。
收集的事件数据存储在performanceschema数据库的表中,支持select进行查询。
语句事件记录表主要记录了语句事件信息,查看所有表
show tables like '%statement%';
events_statements_current
SELECT * from events_statements_current
字段说明
events_statements_history
SELECT * from events_statements_history
字段说明
events_statements_history_long
SELECT * from events_statements_history_long;
字段说明
events_statements_summary_by_account_by_event_name
events_statements_summary_by_account_by_event_name
字段说明
events_statements_summary_by_digest
SELECT * from events_statements_summary_by_digest
字段说明
events_statements_summary_by_host_by_event_name
SELECT * from events_statements_summary_by_host_by_event_name
字段说明
events_statements_summary_by_program
SELECT * from events_statements_summary_by_program
字段说明
events_statements_summary_by_thread_by_event_name
SELECT * from events_statements_summary_by_thread_by_event_name
字段说明
events_statements_summary_by_user_by_event_name
SELECT * from events_statements_summary_by_user_by_event_name;
字段说明
events_statements_summary_global_by_event_name
SELECT * from events_statements_summary_global_by_event_name;
字段说明
prepared_statements_instances
字段说明
两者用于记录执行过的语句的历史信息。它们的主要区别在于记录的时间范围和详细程度。
events_statements_history: 记录了最近执行的语句的历史信息,包括执行时间、等待时间、扫描行数等。它只会保留一定数量的最近执行语句的记录,默认保留 10 万个记录,可以通过配置参数 performance_schema_events_statements_history_size 来调整。这个表适用于查看最近执行的语句的概要信息,并进行性能分析和优化。
events_statements_history_long :记录了更长时间范围内的执行语句的历史信息,包括执行时间、等待时间、扫描行数等。它会保留更多的历史记录,默认情况下是保留 100 万个记录,可以通过配置参数 performance_schema_events_statements_history_long_size 来调整。这个表适用于更详细的性能分析和长期趋势分析。
总结:events_statements_history 适用于查看最近执行的语句的概要信息和性能分析,而 events_statements_history_long 则适用于更详细的性能分析和长期趋势分析。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。