暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

28.4.2 INFORMATION_SCHEMA INNODB_BUFFER_PAGE 表

由迪 2024-09-29
53

该表提供了缓冲池中每个INNODB_BUFFER_PAGE的信息。 InnoDB

有关使用信息和示例,请参见 第 17.15.5 节“InnoDB INFORMATION_SCHEMA 缓冲池表”

警告

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

INNODB_BUFFER_PAGE表包含以下列:

  • POOL_ID

    缓冲池 ID。这是用于区分多个缓冲池实例的标识符。

  • BLOCK_ID

    缓冲池块 ID。

  • SPACE

    表空间 ID;与 的值相同 INNODB_TABLES.SPACE

  • PAGE_NUMBER

    页码。

  • PAGE_TYPE

    页面类型。下表显示了允许的值。

    表 28.4 INNODB_BUFFER_PAGE.PAGE_TYPE 值

    页面类型 描述
    ALLOCATED 新分配的页面
    BLOB 未压缩的 BLOB 页
    COMPRESSED_BLOB2 后续 comp BLOB 页面
    COMPRESSED_BLOB 第一个压缩的 BLOB 页
    ENCRYPTED_RTREE 加密 R 树
    EXTENT_DESCRIPTOR 范围描述符页
    FILE_SPACE_HEADER 文件空间头
    FIL_PAGE_TYPE_UNUSED 未使用
    IBUF_BITMAP 插入缓冲区位图
    IBUF_FREE_LIST 插入缓冲区空闲列表
    IBUF_INDEX 插入缓冲区索引
    INDEX B 树节点
    INODE 索引节点
    LOB_DATA 未压缩的 LOB 数据
    LOB_FIRST 未压缩的 LOB 的第一页
    LOB_INDEX 未压缩的 LOB 索引
    PAGE_IO_COMPRESSED 压缩页面
    PAGE_IO_COMPRESSED_ENCRYPTED 压缩并加密的页面
    PAGE_IO_ENCRYPTED 加密页面
    RSEG_ARRAY 回滚段数组
    RTREE_INDEX R树索引
    SDI_BLOB 未压缩的 SDI BLOB
    SDI_COMPRESSED_BLOB 压缩 SDI BLOB
    SDI_INDEX SDI 指数
    SYSTEM 系统页面
    TRX_SYSTEM 交易系统数据
    UNDO_LOG 撤消日志页面
    UNKNOWN 未知
    ZLOB_DATA 压缩 LOB 数据
    ZLOB_FIRST 压缩 LOB 的第一页
    ZLOB_FRAG 压缩的 LOB 片段
    ZLOB_FRAG_ENTRY 压缩 LOB 碎片索引
    ZLOB_INDEX 压缩 LOB 索引
  • FLUSH_TYPE

    齐平型。

  • FIX_COUNT

    缓冲池中使用此块的线程数。当为零时,该块可以被逐出。

  • IS_HASHED

    该页面是否已经建立了哈希索引。

  • NEWEST_MODIFICATION

    最新修改的日志序列号。

  • OLDEST_MODIFICATION

    最早修改的日志序列号。

  • ACCESS_TIME

    用于判断页面首次访问时间的一个抽象数字。

  • TABLE_NAME

    该页所属的表的名称。此列仅适用于值为PAGE_TYPE 的页。如果服务器尚未访问该表, INDEX则为 。NULL

  • INDEX_NAME

    页面所属索引的名称。这可以是聚集索引或二级索引的名称。此列仅适用于值为PAGE_TYPE 的页面INDEX

  • NUMBER_RECORDS

    页面内的记录数。

  • DATA_SIZE

    记录大小总和。此列仅适用于值为PAGE_TYPE的 页面INDEX

  • COMPRESSED_SIZE

    压缩后的页面大小。NULL对于未压缩的页面。

  • PAGE_STATE

    页面状态。下表显示了允许的值。

    表 28.5 INNODB_BUFFER_PAGE.PAGE_STATE 值

    页面状态 描述
    FILE_PAGE 缓冲文件页面
    MEMORY 包含一个主内存对象
    NOT_USED 在空闲列表中
    NULL 清理压缩页面、刷新列表中的压缩页面、用作缓冲池监视哨兵的页面
    READY_FOR_USE 免费页面
    REMOVE_HASH 哈希索引应在放入空闲列表之前删除
  • IO_FIX

    该页面是否有任何待处理的 I/O: IO_NONE= 没有待处理的 I/O, IO_READ= 读取待处理, IO_WRITE= 写入待处理, IO_PIN= 不允许从刷新中重新定位和移除。

  • IS_OLD

    该块是否位于 LRU 列表的旧块子列表中。

  • FREE_PAGE_CLOCK

    freed_page_clock当块最后被放置在 LRU 列表的头部时计数器 的值。freed_page_clock计数器跟踪从 LRU 列表末尾移除的块数。

  • IS_STALE

    页面是否过时。在 MySQL 8.0.24 中添加。

例子

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE LIMIT 1\G *************************** 1. row *************************** POOL_ID: 0 BLOCK_ID: 0 SPACE: 97 PAGE_NUMBER: 2473 PAGE_TYPE: INDEX FLUSH_TYPE: 1 FIX_COUNT: 0 IS_HASHED: YES NEWEST_MODIFICATION: 733855581 OLDEST_MODIFICATION: 0 ACCESS_TIME: 3378385672 TABLE_NAME: `employees`.`salaries` INDEX_NAME: PRIMARY NUMBER_RECORDS: 468 DATA_SIZE: 14976 COMPRESSED_SIZE: 0 PAGE_STATE: FILE_PAGE IO_FIX: IO_NONE IS_OLD: YES FREE_PAGE_CLOCK: 66 IS_STALE: NO
复制

笔记

  • 该表主要用于专家级性能监控,或者开发 MySQL 性能相关的扩展。
  • 您必须具有PROCESS 查询该表的权限。
  • 使用INFORMATION_SCHEMA COLUMNS表或 SHOW COLUMNS语句查看有关该表的列的附加信息,包括数据类型和默认值。
  • 当表、表行、分区或索引被删除时,相关页面将保留在缓冲池中,直到其他数据需要空间为止。表会 INNODB_BUFFER_PAGE报告有关这些页面的信息,直到它们从缓冲池中被逐出。有关如何管理缓冲池数据的更多信息 InnoDB,请参见 第 17.5.1 节“缓冲池”
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论