参考官方文档:
https://dev.mysql.com/doc/refman/5.7/en/innodb-i_s-tables.html
INNODB_BUFFER_POOL_STATS表提供了SHOW ENGINE INNODB STATUS输出中提供的大部分相同的缓冲池信息。 使用InnoDB缓冲池服务器状态变量也可以获得大部分相同的信息
在缓冲池中创建页面“年轻”或“不年轻”的想法是指在缓冲池数据结构的头部和尾部的子列表之间传送它们。 “年轻”的页面需要更长的时间才能从缓冲池中老化,而“不年轻”的页面会更加接近驱逐点。
INNODB_BUFFER_POOL_STATS表包含以下列:
缓冲池ID。 这是区分多个缓冲池实例的标识符。
在页面中的 InnoDB 缓存池大小
InnoDB缓冲池中的空闲页数。
InnoDB缓冲池中包含数据的页数。 此数字包括脏页面和干净页面
页面被创建的数量
写页面的数量
buffer pool 命中率
你需要PROCESS 权限来查询这个表,可以使用COLUMNS表来查询这个表上字段的详细信息和数据类型。
INNODB_METRICS表提供了各种InnoDB性能信息。 通过简单的查询,您可以检查系统的整体运行状况。 通过更详细的查询,您可以诊断性能瓶颈,资源短缺和应用程序等问题。
每个监视器代表InnoDB源代码中的一个点,该源代码用于收集计数器信息。 每个计数器都可以启动,停止和重置。 您还可以使用公共模块名称为一组计数器执行这些操作。
默认情况下,收集的数据相对较少。 要启动,停止和重置计数器,请使用计数器名称,模块名称,使用“%”字符对此类名称进行通配符匹配,来设置系统变量innodb_monitor_enable,innodb_monitor_disable,innodb_monitor_reset或innodb_monitor_reset_all 的其中一个 ,或特殊关键字all。
INNODB_METRICS表包含以下列:
计数器的唯一名称
计数器自启动以来的值
自计数器启用以来的最大值。
自计数器启用以来的平均值
计数器是否仍在运行( enabled)或停止( disabled)。
这个条目是累加的计数器,或者衡量某些资源的当前值。
注意:需要有PROCESS权限查询这个表
INNODB_TRX表提供当前在InnoDB内执行的每个事务的相关(不包括只读事务)信息,包括事务是否在等待锁定,事务何时启动以及事务正在执行的SQL语句(如果有)。
INNODB_TRX 表有下列字段:
InnoDB内部的唯一事务ID号。 不会为只读事务创建这些ID并且不会锁定
事务的权重,反映更改的行数和事务锁定的行数(不一定是确切的计数)。 为了解决死锁,InnoDB选择具有最小权重的事务作为回滚的“受害者”。 无论更改和锁定行的数量如何,已更改非事务表的事务都被认为比其他事务有更高权重。
事务开始事件
事务执行状态。 允许的值为RUNNING,LOCK WAIT,ROLLING BACK和COMMITTING。
如果TRX_STATE 是 LOCK WAIT,则是事务当前等待的锁的ID;否则为NULL。要获取有关锁的详细信息,请使用INNODB_LOCKS表的LOCK_ID列连接此列。
如果TRX_STATE 是 LOCK WAIT,则这个时间是事务开始等待锁的时间;否则为NULL
事务正在执行的SQL语句。
交易的当前操作,如果有的话; 否则为NULL。
当前SQL语句具有行锁定的InnoDB表的数量。 (因为这些是行锁,而不是表锁,所以通常仍可以通过多个事务读取和写入表,尽管某些行被锁定。)
事务缩保留的锁数
此事务锁定的大致行数。 该值可能包括实际存在但对事务不可见的被标记删除的行。
此事务中已修改和插入的行数。
当前事务的隔离级别。
是否为当前事务打开或关闭唯一检查。 例如,在批量数据加载期间可能会关闭它们。
是否为当前事务打开或关闭外键检查。 例如,在批量数据加载期间可能会关闭它们。
值是1表示事务是只读事务
值为1表示事务是一个SELECT语句,它不使用FOR UPDATE或LOCK IN SHARED MODE子句,并且在启用自动提交的情况下执行,因此事务将只包含这一个语句。 当此列和TRX_IS_READ_ONLY都为1时,InnoDB会优化事务以减少与更改表数据事务的相关开销。
注意:要有PROCESS权限才能查询这个表
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3163987/ ,如需转载,请注明出处,否则将追究法律责任。