博客
关于我
第27章 MySQL 性能模式
阅读量:368 次
发布时间:2019-03-05

本文共 2359 字,大约阅读时间需要 7 分钟。

官方文档地址:


27.1 Performance Schema Quick Start

27.2 Performance Schema Build Configuration
27.3 Performance Schema Startup Configuration
27.4 Performance Schema Runtime Configuration
27.5 Performance Schema Queries
27.6 Performance Schema Instrument Naming Conventions
27.7 Performance Schema Status Monitoring
27.8 Performance Schema Atom and Molecule Events
27.9 Performance Schema Tables for Current and Historical Events
27.10 Performance Schema Statement Digests and Sampling
27.11 Performance Schema General Table Characteristics
27.12 Performance Schema Table Descriptions
27.13 Performance Schema Option and Variable Reference
27.14 Performance Schema Command Options
27.15 Performance Schema System Variables
27.16 Performance Schema Status Variables
27.17 The Performance Schema Memory-Allocation Model
27.18 Performance Schema and Plugins
27.19 Using the Performance Schema to Diagnose Problems
27.20 Restrictions on Performance Schema

MySQL 性能模式是一种用于在较低级别监视 MySQL Server 执行的功能。性能模式具有以下特征:

  • 性能模式提供了一种在运行时检查服务器内部执行的方法。它是使用PERFORMANCE_SCHEMA存储引擎和performance_schema数据库来实现的。性能模式主要关注性能数据。这与INFORMATION_SCHEMA用于检查元数据的有所不同。
  • 性能模式监视服务器事件。“事件”是服务器所做的任何需要时间并且已经被检测的事情,以便能够收集计时信息。通常,事件可以是函数调用、操作系统等待、SQL 语句执行的一个阶段(如解析或排序),或者是整个语句或语句组。通过事件收集,可以访问有关服务器和多个存储引擎的同步调用(例如互斥锁)文件和表 I/O,表锁等信息。
  • 性能模式事件不同于写入服务器二进制日志(描述数据修改)的事件和事件调度程序事件(一种存储程序)。
  • 性能模式事件特定于 MySQL 服务器的给定实例。Performance Schema表被认为是服务器本地的,对它们的更改不会被复制或写入二进制日志。
  • 当前事件以及事件历史和摘要都是可用的。这使您能够确定测试活动执行了多少次,以及它们花费了多少时间。事件信息可用于显示特定线程的活动,或与特定对象(例如互斥锁或文件)关联的活动。
  • PERFORMANCE_SCHEMA存储引擎使用服务器源代码中的“检测点”收集事件数据。
  • 收集的事件存储在performance_schema数据库中的表中 。这些表可以像其他表一样使用SELECT语句进行查询。
  • 通过 SQL 语句更新performance_schema数据库中的表,可以动态修改性能模式的配置。配置更改会立即影响数据收集。
  • 性能模式中的表是内存表,不使用磁盘上的持久化存储。在服务器启动时重新填充内容,在服务器关闭时丢弃内容。
  • 在 MySQL 支持的所有平台上都可以进行监视。
    可能会有一些限制:计时器的类型可能因平台而异。适用于存储引擎的仪器不一定适用于所有的存储引擎。对每个第三方引擎进行检测是引擎维护人员的责任。参见 。
  • 数据收集是通过修改服务器源代码来添加检测来实现的。与复制或事件调度程序等其他特性不同,没有单独的线程与性能模式相关联。

性能模式旨在提供对有关服务器执行的有用信息的访问,同时对服务器性能的影响最小。该实现遵循以下设计目标:

  • 激活性能模式不会导致服务器行为发生任何变化。例如,它不会导致线程调度改变,也不会导致查询执行计划(如EXPLAIN所示)改变。
  • 服务器监视是持续地、不引人注目地进行,而且开销很小。激活性能模式并不会使服务器不可用。
  • 解析器没有改变。没有新的关键字或语句。
  • 即使性能模式在内部失败,服务器代码的执行仍可以正常进行。
  • 当需要在初始的事件收集期间或之后的事件检索期间执行处理时,优先考虑加快收集速度。这是因为收集是正在进行的,而检索是按需进行的,并且可能根本不会发生。
  • 大多数性能模式表都有索引,这使优化器可以访问执行计划,而不是全表扫描。有关更多信息,请参见 。
  • 添加新的检测点很容易。
  • 检测版本化。如果检测实现发生变化,则先前检测的代码将继续起作用。这有利于第三方插件的开发人员,因为没有必要升级每个插件以保持与最新性能模式更改同步。

注意

MySQL sys模式是一组对象,可方便地访问由性能模式收集的数据。该sys模式是默认安装的。有关用法说明,请参见 。

转载地址:http://nwjg.baihongyu.com/

你可能感兴趣的文章
MySQL-【1】配置
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>
MySQL-数据页的结构
查看>>
MySQL-架构篇
查看>>
MySQL-索引的分类(聚簇索引、二级索引、联合索引)
查看>>
Mysql-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>
mysql5.6 TIME,DATETIME,TIMESTAMP
查看>>
mysql5.6.21重置数据库的root密码
查看>>
Mysql5.6主从复制-基于binlog
查看>>
MySQL5.6忘记root密码(win平台)
查看>>