InnoDB INFORMATION_SCHEMA Tables about Compression

了解关于压缩的InnoDB INFORMATION_SCHEMA表,可以深入了解压缩的整体运行情况:

  • INNODB_CMPINNODB_CMP_RESET提供有关压缩操作数和执行压缩所花费的时间的信息。

  • INNODB_CMPMEMINNODB_CMP_RESET提供有关为压缩分配内存的方式的信息。

  • INNODB_CMP_PER_INDEXINNODB_CMP_PER_INDEX_RESET表包含与压缩的InnoDB表和索引相关的操作的状态信息,以及数据库,表和索引的每种组合的单独统计信息,以帮助您评估特定表的压缩性能和有用性。

4. INNODB_CMP and INNODB_CMP_RESET

INNODB_CMPINNODB_CMP_RESET表包含与压缩的InnoDB表相关的操作的状态信息。

INNODB_CMPINNODB_CMP_RESET具有同样的列,如下:

  • page_size :压缩页面大小(以字节为单位)
  • compress_ops :已压缩大小为PAGE_SIZE的B树页面的次数。只要创建空页面或未压缩修改日志的空间用完,页面就会被压缩。
  • compress_ops_ok:已成功压缩大小为PAGE_SIZE的B树页面的次数。此计数不应超过COMPRESS_OPS。
  • compress_time :用于尝试压缩大小为PAGE_SIZE的B树页的总时间(秒)。
  • uncompress_ops :已解压缩大小为PAGE_SIZE的B树页面的次数。每当压缩失败或在缓冲池中不存在未压缩页面时首次访问时,B树页面都是未压缩的。
  • uncompress_time:用于解压缩大小为PAGE_SIZE的B树页面的总时间(秒)。

Notes

  • 使用这些表来衡量数据库中InnoDB表压缩的有效性。

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

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

  • 有关使用信息,请参见“在运行时监视InnoDB表压缩”和“使用压缩信息架构表”。 有关InnoDB表压缩的一般信息,请参见“InnoDB表和页面压缩”。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP;
+-----------+--------------+-----------------+---------------+----------------+-----------------+
| page_size | compress_ops | compress_ops_ok | compress_time | uncompress_ops | uncompress_time |
+-----------+--------------+-----------------+---------------+----------------+-----------------+
| 1024 | 0 | 0 | 0 | 0 | 0 |
| 2048 | 0 | 0 | 0 | 0 | 0 |
| 4096 | 0 | 0 | 0 | 0 | 0 |
| 8192 | 0 | 0 | 0 | 0 | 0 |
| 16384 | 0 | 0 | 0 | 0 | 0 |
+-----------+--------------+-----------------+---------------+----------------+-----------------+
5 rows in set (0.00 sec)

5. INNODB_CMPMEM 与 INNODB_CMPMEM_RESET

INNODB_CMPMEMINNODB_CMPMEM_RESET表包含InnoDB缓冲池中压缩页面的状态信息。

INNODB_CMPMEMINNODB_CMPMEM_RESET表有以下列:

  • page_size :块大小(以字节为单位)。该表的每条记录都描述了这种大小的块。
  • buffer_pool_instance:缓冲池实例的唯一标识符。
  • pages_used :当前正在使用的大小为PAGE_SIZE的块数。
  • pages_free :当前可用于分配的大小为PAGE_SIZE的块数。此列显示内存池中的外部碎片。理想情况下,这些数字最多应为1。
  • relocation_ops :已重新定位大小为PAGE_SIZE的块的次数。伙伴系统在尝试形成更大的释放块时可以重新定位已释放块的已分配“伙伴邻居”。从INNODB_CMPMEM_RESET表读取会重置此计数。
  • relocation_time :用于重新定位大小为PAGE_SIZE的块的总时间(以微秒为单位)。从表中读取INNODB_CMPMEM_RESET会重置此计数。

Notes

  • 使用这些表来衡量数据库中InnoDB表压缩的有效性。

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

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

  • 有关使用信息,请参见“在运行时监视InnoDB表压缩”和“使用压缩信息架构表”。 有关InnoDB表压缩的一般信息,请参见“InnoDB表和页面压缩”。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMPMEM\G
*************************** 1. row ***************************
page_size: 1024
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 2. row ***************************
page_size: 2048
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 3. row ***************************
page_size: 4096
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 4. row ***************************
page_size: 8192
buffer_pool_instance: 0
pages_used: 7673
pages_free: 15
relocation_ops: 4638
relocation_time: 0
*************************** 5. row ***************************
page_size: 16384
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0

6. INNODB_CMP_PER_INDEX 与 INNODB_CMP_PER_INDEX_RESET

INNODB_CMP_PER_INDEXINNODB_CMP_PER_INDEX_RESET表包含与压缩的InnoDB表和索引相关的操作的状态信息,以及数据库,表和索引的每种组合的单独统计信息,以帮助您评估特定表的压缩性能和有用性。

对于压缩的InnoDB表,表数据和所有二级索引都被压缩。 在此上下文中,表数据仅被视为另一个索引,恰好包含所有列:聚簇索引。

INNODB_CMP_PER_INDEXINNODB_CMP_PER_INDEX_RESET表有以下列:

  • database_name :包含适用表的schema(数据库)。
  • table_name :用于监视压缩统计信息的表。
  • index_name :用于监视压缩统计信息的索引。
  • compress_ops :尝试的压缩操作数。只要创建空页面或未压缩修改日志的空间用完,页面就会被压缩。
  • compress_ops_ok:成功压缩操作的次数。从COMPRESS_OPS值中减去以获得压缩失败次数。除以COMPRESS_OPS值以获得压缩失败的百分比。
  • compress_time :用于压缩此索引中的数据的总时间(以秒为单位)。
  • uncompress_ops :执行的解压缩操作数。压缩失败时压缩的InnoDB页面未压缩,或者第一次在缓冲池中访问压缩页面并且未压缩页面不存在。
  • uncompress_time:用于解压缩此索引中的数据的总时间(以秒为单位)。

Notes

  • 使用这些表来衡量InnoDB表压缩对特定表,索引或两者的有效性。

  • 您必须具有PROCESS权限才能查询这些表。

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

  • 由于为每个索引收集单独的度量会产生大量性能开销,因此默认情况下不会收集INNODB_CMP_PER_INDEX和INNODB_CMP_PER_INDEX_RESET统计信息。 在对要监视的压缩表执行操作之前,必须启用innodb_cmp_per_index_enabled配置选项。

  • 有关使用信息,请参见“在运行时监视InnoDB表压缩”和“使用压缩信息架构表”。 有关InnoDB表压缩的一般信息,请参见“InnoDB表和页面压缩”。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX\G
*************************** 1. row ***************************
database_name: employees
table_name: salaries
index_name: PRIMARY
compress_ops: 0
compress_ops_ok: 0
compress_time: 0
uncompress_ops: 23451
uncompress_time: 4
*************************** 2. row ***************************
database_name: employees
table_name: salaries
index_name: emp_no
compress_ops: 0
compress_ops_ok: 0
compress_time: 0
uncompress_ops: 1597
uncompress_time: 0

InnoDB INFORMATION_SCHEMA Tables about Compression的更多相关文章

  1. InnoDB INFORMATION_SCHEMA System Tables

    InnoDB INFORMATION_SCHEMA System Tables 可以使用InnoDB INFORMATION_SCHEMA系统表提取有关InnoDB管理的schema对象的元数据. 此 ...

  2. InnoDB INFORMATION_SCHEMA Lock Tables

    InnoDB INFORMATION_SCHEMA Lock Tables 三张InnoDB INFORMATION_SCHEMA表使您能够监视事务并诊断潜在的锁定问题: INNODB_TRX:提供有 ...

  3. InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables

    InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables 下表提供了FULLTEXT索引的元数据: mysql> SHOW TABLES FROM INFO ...

  4. InnoDB INFORMATION_SCHEMA Buffer Pool Tables

    InnoDB INFORMATION_SCHEMA Buffer Pool Tables InnoDB INFORMATION_SCHEMA缓冲池表提供有关InnoDB缓冲池中页面的缓冲池状态信息和元 ...

  5. information_schema.TABLES

    获取所有表结构(TABLES) SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA='数据库名'; TABLES表:提供了关于数据库中 ...

  6. 关于mysql中information_schema.tables

    项目中出现这样一个SQL语句,现记录如下: @Select("select table_name tableName, engine, table_comment tableComment, ...

  7. 【整理】mysql中information_schema.tables字段说明

    [整理]mysql中information_schema.tables字段说明 2016-05-04 16:47:50|  分类: 默认分类|举报|字号 订阅     下载LOFTER我的照片书  | ...

  8. InnoDB INFORMATION_SCHEMA Temporary Table Info Table

    InnoDB INFORMATION_SCHEMA Temporary Table Info Table INNODB_TEMP_TABLE_INFO提供有关InnoDB实例中当前活动的用户创建的In ...

  9. mysql中information_schema.tables字段说明

      1. 获取所有表结构(TABLES) SELECT  *  FROM information_schema.TABLES WHERE  TABLE_SCHEMA='数据库名';  TABLES表: ...

随机推荐

  1. Java关键字abstract与final总结

    关键字:abstract 用来修饰抽象类与抽象类中的方法 抽象类需要注意的几点: 抽象类不能被实例化.抽象类可以包含属性:方法:构造方法,但是构造方法不能用来new实例,只能被子类调用 有抽象方法的类 ...

  2. C++伪函数

    #include <iostream> void say_hello() { std::cout << "hello world !" << s ...

  3. DFS/并查集 Codeforces Round #286 (Div. 2) B - Mr. Kitayuta's Colorful Graph

    题目传送门 /* 题意:两点之间有不同颜色的线连通,问两点间单一颜色连通的路径有几条 DFS:暴力每个颜色,以u走到v为结束标志,累加条数 注意:无向图 */ #include <cstdio& ...

  4. 求n的因子个数与其因子数之和

    方法一:朴素算法:O(n). #include<bits/stdc++.h> using namespace std; int get_num(int n){ ; ;i<=n;++i ...

  5. 题解报告:poj 2631 Roads in the North(最长链)

    Description Building and maintaining roads among communities in the far North is an expensive busine ...

  6. 164 Maximum Gap 最大间距

    给定一个无序的数组,找出数组在排序后相邻的元素之间最大的差值.尽量尝试在线性时间和空间复杂度情况下解决此问题.若数组元素个数少于2,则返回0.假定所有的元素都是非负整数且范围在32位有符号整数范围内. ...

  7. git分支提交管理

    随着需求的增多,为了多人协作的顺利进行,需要进行分支开发,进而带来分支管理问题.今天主要讲一下如何管理分支及提交. 为了使git更好用,下面是我的git配置文件(放在C:\Users\Administ ...

  8. Thymeleaf 在项目中的应用及前后端交互的一些知识(1)

    经过一段时间的工作,我的第一个项目已经快要上线了.本篇文章介绍些thymeleaf在工作中的实际应用,但是更多的还是一些前端处理后台数据的一些思路,如果有什么不正确的地方,希望大家指点. 1.th:e ...

  9. Windows 2016 安装Sharepoint 2016 预装组件失败

    Windows 2016 安装Sharepoint 2016 预装组件失败 日志如下: -- :: - Request for install time of Web 服务器(IIS)角色 -- :: ...

  10. Android Activity生命周期的几个问题

      每一个Android开发者都应该知道,android系统有四个重要的基本组件,即Activity(活动).Service(服务).Broadcast Receive(广播接收器)和Content ...