MySQL5.7官方文档:INFORMATION_SCHEMA详解

需积分: 10 1 下载量 56 浏览量 更新于2024-07-20 收藏 3.61MB PDF 举报
本资源主要介绍了MySQL 5.7版本中的`INFORMATION_SCHEMA`,这是一个系统数据库,用于存储关于MySQL服务器的所有数据库、表、列、索引等对象的元数据。通过查询`INFORMATION_SCHEMA`中的表格,用户可以获取到关于数据库结构、权限、状态变量、优化器轨迹等重要信息。 1. `INFORMATION_SCHEMA.CHARACTER_SETS`表:这个表提供了MySQL支持的所有字符集的信息,包括字符集名称、描述、默认排序规则等,对于处理多语言数据和确保数据正确编码至关重要。 2. `INFORMATION_SCHEMA.COLLATIONS`表:此表包含所有可用的排序规则(collations),显示了与每个字符集关联的排序规则及其特性。 3. `INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY`表:它提供字符集和排序规则之间的关系,帮助确定哪些字符集适用于特定的排序规则。 4. `INFORMATION_SCHEMA.COLUMNS`表:列出了所有数据库中的列,包括它们的数据类型、是否允许NULL值、默认值以及更多列属性,这对于理解和调整表结构非常有用。 5. `INFORMATION_SCHEMA.COLUMN_PRIVILEGES`表:展示了数据库用户对各列的权限,包括SELECT、INSERT、UPDATE等操作的权限情况。 6. `INFORMATION_SCHEMA.ENGINES`表:列出服务器支持的存储引擎及其特性,如InnoDB、MyISAM等,这对于选择合适的存储引擎进行表设计是必要的。 7. `INFORMATION_SCHEMA.EVENTS`表:包含了所有定时事件的信息,如事件名、创建时间、执行频率等,有助于管理和监控数据库中的定时任务。 8. `INFORMATION_SCHEMA.FILES`表:显示了数据库文件的相关信息,例如文件大小、位置和状态,有助于理解数据库的物理存储情况。 9. `INFORMATION_SCHEMA.GLOBAL_STATUS`和`SESSION_STATUS`表:分别提供全局和会话级别的状态变量,这些变量反映了服务器的运行状态,如查询计数、内存使用等,可用于性能分析和调优。 10. `INFORMATION_SCHEMA.GLOBAL_VARIABLES`和`SESSION_VARIABLES`表:类似地,这些表记录了全局和会话级别的系统变量,可以查看和修改这些变量以调整服务器配置。 11. `INFORMATION_SCHEMA.KEY_COLUMN_USAGE`表:提供有关表中索引和主键的信息,包括被哪些列使用以及约束类型。 12. `INFORMATION_SCHEMA.TRANSACTIONS`表:显示事务相关的元数据,例如事务ID和状态,对于理解并发控制和事务处理很有帮助。 13. `INFORMATION_SCHEMA.OPTIMIZER_TRACE`表:记录查询优化器的工作细节,如选择的查询路径,有助于分析和优化SQL查询。 14. `INFORMATION_SCHEMA.PARAMETERS`表:列出存储过程和函数的参数信息,包括参数名、类型和默认值。 15. `INFORMATION_SCHEMA.PARTITIONS`表:关于分区表的信息,如分区方法、范围或列表,用于管理大型表的分区策略。 16. `INFORMATION_SCHEMA.PLUGINS`表:展示了已安装的插件及其状态,有助于管理和了解服务器的扩展功能。 17. `INFORMATION_SCHEMA.PROCESSLIST`表:实时显示当前正在执行的查询和进程,是诊断阻塞和性能问题的关键工具。 18. `INFORMATION_SCHEMA.PROFILING`表:提供了查询执行的详细统计信息,包括每个阶段的耗时,用于性能分析。 通过这些`INFORMATION_SCHEMA`表,MySQL 5.7的用户可以深入洞察数据库的内部工作原理,进行问题排查、性能优化和安全管理。对于DBA和开发者来说,这些信息是日常维护和开发的重要参考资料。