频道栏目
首页 > 资讯 > 其他综合 > 正文

InnoDBINFORMATION_SCHEMABufferPoolTables

18-08-22        来源:[db:作者]  
收藏   我要投稿

InnoDB INFORMATION_SCHEMA Buffer Pool Tables

InnoDB INFORMATION_SCHEMA缓冲池表提供有关InnoDB缓冲池中页面的缓冲池状态信息和元数据。

InnoDB INFORMATION_SCHEMA缓冲池表包括下面列出的表:

mysql> SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB_BUFFER%';
+-----------------------------------------------+
| Tables_in_INFORMATION_SCHEMA (INNODB_BUFFER%) |
+-----------------------------------------------+
| INNODB_BUFFER_PAGE_LRU                        |
| INNODB_BUFFER_PAGE                            |
| INNODB_BUFFER_POOL_STATS                      |
+-----------------------------------------------+

INNODB_BUFFER_PAGE:保存InnoDB缓冲池中每个页面的信息。

INNODB_BUFFER_PAGE_LRU:保存有关InnoDB缓冲池中页面的信息,特别是它们在LRU列表中的排序方式,确定哪些页面在缓冲池变满时从缓冲池中逐出。 INNODB_BUFFER_PAGE_LRU表与INNODB_BUFFER_PAGE表具有相同的列,但INNODB_BUFFER_PAGE_LRU表具有LRU_POSITION列而不是BLOCK_ID列。

INNODB_BUFFER_POOL_STATS:提供缓冲池状态信息。 许多相同的信息由SHOW ENGINE INNODB STATUS输出提供,或者可以使用InnoDB缓冲池服务器状态变量获得。

1. INNODB_BUFFER_PAGE

INNODB_BUFFER_PAGE表包含有关InnoDB缓冲池中每个页面的信息。

有关相关用法信息和示例,请参见第14.15.5节“InnoDB INFORMATION_SCHEMA Buffer Pool Tables”。

警告
查询INNODB_BUFFER_PAGE表可能会影响性能。 除非您了解性能影响并确定其可接受,否则请勿在生产系统上查询此表。 为避免影响生产系统的性能,请重现要调查的问题并在测试实例上查询缓冲池统计信息。

INNODB_BUFFER_PAGE表有以下列:

POOL_ID :缓冲池ID。这是区分多个缓冲池实例的标识符。 BLOCK_ID :缓冲池块ID。 SPACE :表空间ID;与INNODB_SYS_TABLES.SPACE相同的值。 PAGE_NUMBER :页码 PAGE_TYPE :页面类型。下表显示了允许的值:
FLUSH_TYPE :flush 类型 FIX_COUNT :缓冲池中使用此块的线程数。当为零时,该区块有资格被驱逐。 IS_HASHED :是否已在此页面上构建哈希索引。 NEWEST_MODIFICATION:最新修改的日志序列号。 OLDEST_MODIFICATION:最旧修改的日志序列号。 ACCESS_TIME :用于判断页面首次访问时间的抽象数字。 TABLE_NAME :页面所属表格的名称。此列仅适用于PAGE_TYPE值为INDEX的页面。 INDEX_NAME :页面所属索引的名称。这可以是聚簇索引或辅助索引的名称。此列仅适用于PAGE_TYPE值为INDEX的页面。 NUMBER_RECORDS :页面中的记录数。 DATA_SIZE :记录大小的总和。此列仅适用于PAGE_TYPE值为INDEX的页面。 COMPRESSED_SIZE :压缩页面大小。对于未压缩的页面,为NULL。 PAGE_STATE :页面状态。下表显示了允许的值
IO_FIX :此页面是否有任何I/O待处理:IIO_NONE = no pending I/O, IO_READ = read pending, IO_WRITE = write pending. IS_OLD :块是否在LRU列表中的旧块的子列表中。 FREE_PAGE_CLOCK :当块最后放置在LRU列表的头部时,freed_page_clock计数器的值。 freed_page_clock计数器跟踪从LRU列表末尾删除的块数。

Notes

此表主要用于专家级性能监视,或者在为MySQL开发与性能相关的扩展时。

您必须具有PROCESS权限才能查询此表。

使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

删除表,表行,分区或索引时,关联页将保留在缓冲池中,直到其他数据需要空间。 INNODB_BUFFER_PAGE表报告有关这些页面的信息,直到它们从缓冲池中逐出。 有关InnoDB如何管理缓冲池数据的更多信息,请参见第14.6.3.1节“InnoDB缓冲池”。

示例

mysql> select * from innodb_buffer_page limit 1\G
*************************** 1. row ***************************
            POOL_ID: 0
           BLOCK_ID: 0
              SPACE: 0
        PAGE_NUMBER: 7
          PAGE_TYPE: SYSTEM
         FLUSH_TYPE: 1
          FIX_COUNT: 0
          IS_HASHED: NO
NEWEST_MODIFICATION: 3183743
OLDEST_MODIFICATION: 0
        ACCESS_TIME: 1081580410
         TABLE_NAME: NULL
         INDEX_NAME: NULL
     NUMBER_RECORDS: 0
          DATA_SIZE: 0
    COMPRESSED_SIZE: 0
         PAGE_STATE: FILE_PAGE
             IO_FIX: IO_NONE
             IS_OLD: NO
    FREE_PAGE_CLOCK: 0
1 row in set (1.20 sec)

2. INNODB_BUFFER_PAGE_LRU

INNODB_BUFFER_PAGE_LRU表保存有关InnoDB缓冲池中页面的信息; 特别是,如何在LRU列表中对它们进行排序,以确定哪些页面在缓冲池填满时从缓冲池中逐出。

INNODB_BUFFER_PAGE_LRU表与INNODB_BUFFER_PAGE表具有相同的列,但INNODB_BUFFER_PAGE_LRU表具有LRU_POSITION和COMPRESSED列而不是BLOCK_ID和PAGE_STATE列。

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA缓冲池表”。

警告
查询INNODB_BUFFER_PAGE_LRU表可能会影响性能。 除非您了解性能影响并确定其可接受,否则请勿在生产系统上查询此表。 为避免影响生产系统的性能,请重现要调查的问题并在测试实例上查询缓冲池统计信息。

INNODB_BUFFER_PAGE_LRU表有以下列:

POOL_ID :缓冲池ID。这是区分多个缓冲池实例的标识符。 LRU_POSITION :页面在LRU列表中的位置。 SPACE :表空间ID;与INNODB_SYS_TABLES.SPACE相同的值。 PAGE_NUMBER :页码 PAGE_TYPE :页面类型
FLUSH_TYPE :flush 类型 FIX_COUNT :缓冲池中使用此块的线程数。当为零时,该区块有资格被驱逐。 IS_HASHED :是否已在此页面上构建哈希索引。 NEWEST_MODIFICATION:最新修改的日志序列号。 OLDEST_MODIFICATION:最旧修改的日志序列号。 ACCESS_TIME :用于判断页面首次访问时间的抽象数字。 TABLE_NAME :页面所属表格的名称。此列仅适用于PAGE_TYPE值为INDEX的页面。 INDEX_NAME :页面所属索引的名称。这可以是聚簇索引或辅助索引的名称。此列仅适用于PAGE_TYPE值为INDEX的页面。 NUMBER_RECORDS :页面中的记录数。 DATA_SIZE :记录大小的总和。此列仅适用于PAGE_TYPE值为INDEX的页面。 COMPRESSED_SIZE :压缩页面大小。对于未压缩的页面,为NULL COMPRESSED :页面是否被压缩。 IO_FIX :此页面是否有任何I / O待处理。IO_NONE = no pending I/O, IO_READ = read pending, IO_WRITE = write pending. IS_OLD :块是否在LRU列表中的旧块的子列表中。 FREE_PAGE_CLOCK :当块最后放置在LRU列表的头部时,freed_page_clock计数器的值。 freed_page_clock计数器跟踪从LRU列表末尾删除的块数。

Notes

此表主要用于专家级性能监视,或者在为MySQL开发与性能相关的扩展时。

您必须具有PROCESS权限才能查询此表。

使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

查询此表可能需要MySQL分配大块连续内存,超过缓冲池中活动页数的64字节。此分配可能会导致内存不足错误,尤其是对于具有多千兆字节缓冲池的系统。

查询此表需要MySQL在遍历LRU列表时锁定表示缓冲池的数据结构,这会降低并发性,尤其是对于具有多GB缓冲池的系统。

删除表,表行,分区或索引时,关联页将保留在缓冲池中,直到其他数据需要空间。 INNODB_BUFFER_PAGE_LRU表报告有关这些页面的信息,直到它们从缓冲池中逐出。有关InnoDB如何管理缓冲池数据的更多信息,请参见“InnoDB缓冲池”。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU LIMIT 1\G
*************************** 1. row ***************************
            POOL_ID: 0
       LRU_POSITION: 0
              SPACE: 0
        PAGE_NUMBER: 7
          PAGE_TYPE: SYSTEM
         FLUSH_TYPE: 1
          FIX_COUNT: 0
          IS_HASHED: NO
NEWEST_MODIFICATION: 3183743
OLDEST_MODIFICATION: 0
        ACCESS_TIME: 1081580410
         TABLE_NAME: NULL
         INDEX_NAME: NULL
     NUMBER_RECORDS: 0
          DATA_SIZE: 0
    COMPRESSED_SIZE: 0
         COMPRESSED: NO
             IO_FIX: IO_NONE
             IS_OLD: NO
    FREE_PAGE_CLOCK: 0
1 row in set (0.01 sec)

3. INNODB_BUFFER_POOL_STATS

INNODB_BUFFER_POOL_STATS表提供了SHOW ENGINE INNODB STATUS输出中提供的大部分相同的缓冲池信息。 使用InnoDB缓冲池服务器状态变量也可以获得大部分相同的信息。

使页面在缓冲池中“年轻”或“不年轻”的想法是指在缓冲池数据结构的头部和尾部的子列表之间传送它们。 “年轻”的页面需要更长的时间才能从缓冲池中老化,而“非年轻”的页面则更接近于驱逐点。

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA缓冲池表”。

INNODB_BUFFER_POOL_STATS表有以下列:

POOL_ID :缓冲池ID。这是区分多个缓冲池实例的标识符。 POOL_SIZE :InnoDB页面中 的缓冲池大小。 FREE_BUFFERS :InnoDB 缓冲池中 的空闲页数。 DATABASE_PAGES :InnoDB包含数据 的缓冲池中的页数。此数字包括脏页面和干净页面。 OLD_DATABASE_PAGES :旧缓冲池子列表中的页数。 MODIFIED_DATABASE_PAGES :修改(脏)数据库页面的数量。 PENDING_DECOMPRESS :待解压缩的页数。 PENDING_READS :待处理读数。 PENDING_FLUSH_LRU :LRU中待刷新的页数。 PENDING_FLUSH_LIST :刷新列表中待刷新的页数。 PAGES_MADE_YOUNG :新的页面数量。 PAGES_NOT_MADE_YOUNG :旧的页面数量 PAGES_MADE_YOUNG_RATE :每秒生成的页数(自上次打印输出/时间过后生成的新页面)。 PAGES_MADE_NOT_YOUNG_RATE :每秒未生成的页数(自上次打印输出/经过时间以来未生成新页面)。 NUMBER_PAGES_READ :读取的页数。 NUMBER_PAGES_CREATED :创建的页数。 NUMBER_PAGES_WRITTEN :写的页数。 PAGES_READ_RATE :每秒读取的页数(自上次打印输出/经过时间以来读取的页数)。 PAGES_CREATE_RATE :每秒创建的页数(自上次打印输出/时间过后创建的页数)。 PAGES_WRITTEN_RATE :每秒写入的页数(自上次打印输出/经过时间以来写入的页数)。 NUMBER_PAGES_GET :逻辑读取请求的数量。 HIT_RATE :缓冲池命中率。 YOUNG_MAKE_PER_THOUSAND_GETS :The number of pages made young per thousand gets. NOT_YOUNG_MAKE_PER_THOUSAND_GETS:The number of pages not made young per thousand gets. NUMBER_PAGES_READ_AHEAD :提前读取的页数。 NUMBER_READ_AHEAD_EVICTED :由预读后台线程读入InnoDB缓冲池的页面数,随后在没有被查询访问的情况下被逐出。 READ_AHEAD_RATE :每秒预读速率(自上次打印输出/经过时间以来预读的页数)。 READ_AHEAD_EVICTED_RATE :每秒无法访问的预读页数(自上次打印输出/时间过后未读取的预读页面)。 LRU_IO_TOTAL :Total LRU I/O. LRU_IO_CURRENT :当前间隔的LRU I / O. UNCOMPRESS_TOTAL :解压缩的总页数。 UNCOMPRESS_CURRENT :在当前间隔中解压缩的页数。

Notes

此表主要用于专家级性能监视,或者在为MySQL开发与性能相关的扩展时。

您必须具有PROCESS权限才能查询此表。

使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

示例

mysql> select * from INNODB_BUFFER_POOL_STATS limit 1\G
*************************** 1. row ***************************
                         POOL_ID: 0
                       POOL_SIZE: 24573
                    FREE_BUFFERS: 24262
                  DATABASE_PAGES: 311
              OLD_DATABASE_PAGES: 0
         MODIFIED_DATABASE_PAGES: 0
              PENDING_DECOMPRESS: 0
                   PENDING_READS: 0
               PENDING_FLUSH_LRU: 0
              PENDING_FLUSH_LIST: 0
                PAGES_MADE_YOUNG: 0
            PAGES_NOT_MADE_YOUNG: 0
           PAGES_MADE_YOUNG_RATE: 0
       PAGES_MADE_NOT_YOUNG_RATE: 0
               NUMBER_PAGES_READ: 55
            NUMBER_PAGES_CREATED: 256
            NUMBER_PAGES_WRITTEN: 278
                 PAGES_READ_RATE: 0
               PAGES_CREATE_RATE: 0
              PAGES_WRITTEN_RATE: 0
                NUMBER_PAGES_GET: 1649
                        HIT_RATE: 0
    YOUNG_MAKE_PER_THOUSAND_GETS: 0
NOT_YOUNG_MAKE_PER_THOUSAND_GETS: 0
         NUMBER_PAGES_READ_AHEAD: 0
       NUMBER_READ_AHEAD_EVICTED: 0
                 READ_AHEAD_RATE: 0
         READ_AHEAD_EVICTED_RATE: 0
                    LRU_IO_TOTAL: 0
                  LRU_IO_CURRENT: 0
                UNCOMPRESS_TOTAL: 0
              UNCOMPRESS_CURRENT: 0
1 row in set (0.00 sec)
相关TAG标签
上一篇:oracle网页客户端工具解析
下一篇:Redis常用技术之发布订阅
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站