MySQL information_schema库下的表类型信息汇总

本文详细介绍了MySQL系统的各种管理权限,包括列特权、数据库特权、表特权和全局特权,以及服务器设置、状态和字符集支持等内容。此外,还涵盖了约束、索引、表信息、InnoDB特性和例程等核心组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分区

• PARTITIONS:表分区

• FILES:存储MySQL NDB 磁盘数据表的文件

特权

• COLUMN_PRIVILEGES:MySQL 用户帐户所拥有的列特权

• SCHEMA_PRIVILEGES:MySQL 用户帐户所拥有的数据库特权

• TABLE_PRIVILEGES:MySQL 用户帐户所拥有的表特权

• USER_PRIVILEGES:MySQL 用户帐户所拥有的全局特权

字符集支持

• CHARACTER_SETS:可用的字符集

• COLLATIONS:每个字符集的整理

• COLLATION_CHARACTER_SET_APPLICABILITY:适用于特定字符集的整理

约束和索引

• KEY_COLUMN_USAGE:关键列的约束

• REFERENTIAL_CONSTRAINTS:外键

• STATISTICS:表索引

• TABLE_CONSTRAINTS:表的约束

服务器设置和状态

• KEY_COLUMN_USAGE:约束

• GLOBAL_STATUS:所有MySQL 连接的状态值

• GLOBAL_VARIABLES:用于新的MySQL 连接的值

• PLUGINS:服务器插件

• PROCESSLIST:指示哪些线程正在运行

• SESSION_STATUS:当前MySQL 连接的状态值

• SESSION_VARIABLES:当前MySQL 连接的生效值

例程及相关信息

• EVENTS:预定事件

• ROUTINES:存储过程和功能

• TRIGGERS:数据库中的触发器

• PARAMETERS:存储过程和功能参数以及存储函数

表信息

• COLUMNS:表和视图中的列

• ENGINES:存储引擎

• SCHEMATA:数据库

• TABLES:数据库中的表

• VIEWS:数据库中的视图

InnoDB

• INNODB_CMP 和INNODB_CMP_RESET:对压缩的InnoDB 表的相关操作的状态

• INNODB_CMPMEM 和INNODB_CMPMEM_RESET:InnoDB 缓冲池中压缩页面的状态

• INNODB_LOCKS:InnoDB 事务所请求和持有的每个锁

• INNODB_LOCK_WAITS:每个阻塞的InnoDB 事务的一个或多个行锁

• INNODB_TRX:当前正在InnoDB 内部执行的所有事务

• TABLESPACES:活动的表空间


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2638428/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15498/viewspace-2638428/

### 关于 `performance_schema.tables` 的使用说明 在 MySQL 中,`performance_schema.tables` 是 Performance Schema 提供的一个视图,用于监控数据中的元数据以及与这些相关的性能统计信息。以下是有关该视图的一些重要细节和使用方法: #### 1. 结构描述 `performance_schema.tables` 主要记录了数据中各个的状态信息,包括但不限于名、引擎类型、索引状态等。其常见字段如下: - **TABLE_SCHEMA**: 数据名称。 - **TABLE_NAME**: 名称。 - **ENGINE**: 存储引擎(如 InnoDB、MyISAM 等)[^1]。 - **ROW_FORMAT**: 行存储格式(如 Compact、Dynamic、Compressed 等)。 - **TABLE_ROWS**: 当前的行数估计值。 - **DATA_LENGTH**: 的数据长度(字节单位)。 - **INDEX_LENGTH**: 的索引长度(字节单位)。 #### 2. 查询示例 通过查询 `performance_schema.tables` 可以获取特定条件下的性能统计数据。以下是一些常用的 SQL 示例: ##### 获取所有非系统数据及其基本信息 ```sql SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, INDEX_LENGTH FROM performance_schema.tables WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema'); ``` ##### 统计各数据的总大小 可以通过汇总 `DATA_LENGTH` 和 `INDEX_LENGTH` 来计算每个数据占用的空间: ```sql SELECT TABLE_SCHEMA AS DatabaseName, SUM(DATA_LENGTH + INDEX_LENGTH) AS TotalSizeBytes FROM performance_schema.tables GROUP BY TABLE_SCHEMA; ``` ##### 查找大 查找那些超过指定阈值的大(例如大于 1GB): ```sql SELECT TABLE_SCHEMA, TABLE_NAME, (DATA_LENGTH + INDEX_LENGTH) / POWER(1024, 3) AS SizeInGB FROM performance_schema.tables HAVING SizeInGB > 1 ORDER BY SizeInGB DESC; ``` #### 3. 性能优化建议 利用 `performance_schema.tables` 进行性能分析时,可以关注以下几个方面: - 如果发现某些的 `TABLE_ROWS` 非常高,则可能需要考虑分片或分区策略来提升查询效率。 - 对于较大的,检查是否存在冗余索引 (`INDEX_LENGTH`) 并及时清理不必要的索引。 - 定期评估存储引擎的选择是否合理,尤其是对于频繁更新的操作场景,可以选择更高效的引擎(如 InnoDB 替代 MyISAM)。 需要注意的是,在实际应用过程中,Performance Schema 的启用可能会带来一定的开销。因此,可以根据具体需求调整相关参数,比如设置 `performance_schema_instrumentation%=ON|OFF` 控制哪些事件被收集[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值