mysql中高阶玩法系列(六)

本文探讨了MySQL系统默认数据库的重要性,特别是information_schema数据库,它提供了查看MySQL实例信息、优化和调优的途径。同时,文章提到了performance_schema用于收集性能数据,帮助分析和解决问题。此外,还分享了一些学习资源链接,帮助读者站在巨人的肩膀上提升MySQL技能。
摘要由CSDN通过智能技术生成


系统默认数据库

数据其实可以存储在⽂本⽂件中,但是只适⽤于数据量很少的时候,数据量很少的情况下,在⽂件中保存数据、读写数据,操作简单便利且速度快;但是当数据量稍微⼤的情况,普通⽂本⽂件保存数据的⽅式就显得捉襟⻅肘,甚⾄束⼿⽆策。⽐如数据结构、数据类型⽆法设计,数据读写⽅式复杂且速度慢,对于复杂的数据查询更是⽆法做到。所以需要专业的数据库软件;

存储数据也可以使⽤微软的 Excel,但是,随着数据越来越多,在 Excel这样的电⼦表格⾥查找数据就变得很慢,⽽且不可靠。所以需要更⾼效的数据库管理软件。

在安装MySQL时系统会⾃动创建⼏个数据库,

  1. information_schema

通过information_schema我们可以窥透整个MySQL实例的运行情况,可以了结MySQL实例的基本信息,甚至优化调优,维护数据库等

该数据库中的表都是只读的,不能进行更新、删除和插入等操作,也不能加载触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件。

主要存储了 Mysql 服务器所有数据库的信息,如数据库名,数据库的表,表栏的数据类型与访问权限,字符集信息、分区信息等

information_schema 数据库的数据表

+---------------------------------------+---------------------------------------+
| Tables_in_information_schema          | 介绍
+---------------------------------------+---------------------------------------+
| CHARACTER_SETS                        |存储数据库相关字符集信息
| COLLATIONS                            |字符集对应的排序规则
| COLLATION_CHARACTER_SET_APPLICABILITY |指明了可用于校对的字符集,这些列等效于SHOW COLLATION的前两个显示字段。
| COLUMNS                               |该数据表存储了mysql数据库中的所有列的列名以及每个列的信息,所有的存储引擎
| COLUMN_PRIVILEGES                     |列权限
| ENGINES                               |引擎类型
| EVENTS                                |记录MySQL中的事件,类似于定时作业
| FILES                                 |有关在MySQL的表空间中的数据存储的文件的信息,文件存储的位置,这个表的数据是从InnoDB in-memory中拉取出来的,所以说这张表本身也是一个内存表,每次重启重新进行拉取
| GLOBAL_STATUS                         |系统的状态
| GLOBAL_VARIABLES                      |系统的变量
| KEY_COLUMN_USAGE                      |描述了具有约束的键列。
| OPTIMIZER_TRACE                       |提供的是优化跟踪功能产生的信息
| PARAMETERS                            |存储了一些存储过程和方法的参数,以及存储过程的返回值信息
| PARTITIONS                            |MySQL分区表相关的信息,通过这张表我们可以查询到分区的相关信息(数据库中已分区的表,以及分区表的分区和每个分区的数据信息)
| PLUGINS                               |基本上是MySQL的插件信息,是否是活动状态等信息
| PROCESSLIST                           |存储了当前连接信息
| PROFILING                             |可以深入的查看服务器执行语句的工作情况。以及也能帮助理解执行语句消耗时间的情况。局限是不能查看和剖析其他连接的语句,以及剖析时所引起的消耗
| REFERENTIAL_CONSTRAINTS               |外键相关的信息
| ROUTINES                              |关于存储过程和方法function的一些信息,不过这个信息是不包括用户自定义的,只是系统的一些信息
| SCHEMATA                              |该数据表存储了mysql数据库中的所有数据库的库名
| SCHEMA_PRIVILEGES                     |数据库权限
| SESSION_STATUS                        |会话的信息
| SESSION_VARIABLES                     |会话的变量
| STATISTICS                            |提供了关于表索引的信息
| TABLES                                |该数据表存储了mysql数据库中的所有数据表的表名(其中字段 TABLE_SCHEMA:记录数据库名;TABLE_NAME:记录数据表名;TABLE_ROWS:记录表中粗略的行数;DATA_LENGTH:记录表的大小以字节为单位)
| TABLESPACES                           |标注的活跃表空间
| TABLE_CONSTRAINTS                     |描述了存在约束的表,以及表的约束类型。 
| TABLE_PRIVILEGES                      |表权限
| TRIGGERS                              |记录触发器的信息,包括所有的相关的信息
| USER_PRIVILEGES                       |用户权限,关于全程权限的信息
| VIEWS                                 |给出了关于数据库中的视图的信息
| INNODB_LOCKS                          |现在获取的锁,但是不含没有获取的锁,而且只是针对INNODB| INNODB_TRX                            |包含了所有正在执行的的事物相关信息(INNODB),而且包含了事物是否被阻塞或者请求锁
| INNODB_SYS_DATAFILES                  |记录的表的文件存储的位置和表空间的一个对应关系(INNODB)
| INNODB_FT_CONFIG                      |存的是全文索引的信息
| INNODB_SYS_VIRTUAL                    |存储的是INNODB表的虚拟列的信息
| INNODB_CMP                            |存储的是关于压缩INNODB信息表的时候的相关信息
| INNODB_FT_BEING_DELETED               |该表仅在OPTIMIZE TABLE语句执行维护操作期间作为INNODB_FT_DELETED表的快照数据存放使用。运行OPTIMIZE TABLE语句时,会先清空INNODB_FT_BEING_DELETED表中的数据,保存INNODB_FT_DELETED表中的快照数据到INNODB_FT_BEING_DELETED表,并从INNODB_FT_DELETED表中删除DOC_ID。由于INNODB_FT_BEING_DELETED表中的内容通常生命周期较短,因此该表中的数据对于监控或者调试来说用处并不大
| INNODB_CMP_RESET                      |同 INNODB_CMP,但是每次查询之后会清空数据
| INNODB_CMP_PER_INDEX                  |关于压缩INNODB信息表
| INNODB_CMPMEM_RESET                   |同 INNODB_CMPEM,但是每次查询这个表会清空 RELOCATION_TIME 字段的值
| INNODB_FT_DELETED                     |包含了从全文索引中已经删除的行,这些信息用于过滤查询请求的结果,解决每次删除一行时昂贵的重新组织索引操作
| INNODB_BUFFER_PAGE_LRU                |有关缓冲池中页的信息,以及出于清除目的如何对页进行排序
| INNODB_LOCK_WAITS                     |系统锁等待相关信息,包含了阻塞的一行或者多行的记录,而且还有锁请求和被阻塞改请求的锁信息等
| INNODB_TEMP_TABLE_INFO                |记录所有的INNODB的所有用户使用到的信息,但是只能记录在内存中和没有持久化的信息
| INNODB_SYS_INDEXES                    |相关INNODB表的索引的相关信息
| INNODB_SYS_TABLES                     |提供了有关表格的格式和存储特性,包括行格式,压缩页面大小位级别的信息
| INNODB_SYS_FIELDS                     |记录的是INNODB的表索引字段信息,以及字段的排名
| INNODB_CMP_PER_INDEX_RESET            |于压缩INNODB索引信息
| INNODB_BUFFER_PAGE                    |存的是buffer里面缓冲的页数据。查询这个表会对性能产生很严重的影响
| INNODB_FT_DEFAULT_STOPWORD            |包含了用于创建全文索引的停止词列表
| INNODB_FT_INDEX_TABLE                 |存储的是关于INNODB表有全文索引的索引使用信息的
| INNODB_FT_INDEX_CACHE                 |存放的是插入前的记录信息,也是为了避免DML时候昂贵的索引重组
| INNODB_SYS_TABLESPACES                |关于INNODB的表空间信息
| INNODB_METRICS                        |提供INNODB的各种的性能指数
| INNODB_SYS_FOREIGN_COLS               |存储的INNODB关于外键的元数据信息
| INNODB_CMPMEM                         |MySQL INNODB的压缩页的buffer pool信息,由于用来收集的时候是会对性能造成严重的影响的,所以说默认是关闭状态的
| INNODB_BUFFER_POOL_STATS              |有关INNODB 的buffer pool相关信息
| INNODB_SYS_COLUMNS                    |存放的是INNODB的元数据
| INNODB_SYS_FOREIGN                    |存储的IN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值