广告
返回顶部
首页 > 资讯 > 数据库 >介绍一些MySQL information_schema库相关知识
  • 966
分享到

介绍一些MySQL information_schema库相关知识

2024-04-02 19:04:59 966人浏览 薄情痞子
摘要

下面一起来了解下Mysql infORMation_schema库相关知识,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql information_schema库相关知识这篇短内容是你想要的。m

下面一起来了解下Mysql infORMation_schema库相关知识,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql information_schema库相关知识这篇短内容是你想要的。

mysql> show create table test.test\G

1 row in *************************** 1. row ***************************

       Table: test

Create Table: CREATE TABLE `test` (

  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,

  `a` int(11) unsigned DEFAULT NULL,

  PRIMARY KEY (`id`),

  UNIQUE KEY `a` (`a`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8set (0.00 sec)

parameters

information_schema

一、关于字符集和排序规则相关的系统表

CHARACTER_SETS                         -- 字符集

COLLATIONS                             -- 字符集校验集

COLLATION_CHARACTER_SET_APPLICABILITY  -- 字符集和字符校验集的关系 这些列等效于SHOW COLLATION的前两个显示字段。

字符集(character sets)存储字符串,是指人类语言中最小的表义符号。例如'A'、'B'等;

排序规则(collations)规则比较字符串,collations是指在同一字符集内字符之间的比较规则

每个字符序唯一对应一种字符集,但一个字符集可以对应多种字符序,其中有一个是默认字符序(Default Collation)

介绍一些MySQL information_schema库相关知识

MySQL中的字符序名称遵从命名惯例:以字符序对应的字符集名称开头;以_ci(表示大小写不敏感)、_cs(表示大小写敏感)或_bin(表示按编码值比较)结尾。例如:在字符序"utf8_general_ci"下,字符"a"和"A"是等价的

看一下有关于字符集和校对相关的MySQL变量:

character_set_client:客户端来源数据使用的字符集

character_set_connection:连接层字符集

character_set_database:当前选中数据库的默认字符集

character_set_system:系统元数据(字段名等)字符集

character_set_server:默认的内部操作字符集

character_set_results:查询结果字符集

再看一下MySQL中的字符集转换过程:

(1)MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;

(2)进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:

使用每个数据字段的CHARACTER SET设定值;

若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);

若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;

若上述值不存在,则使用character_set_server设定值。

(3)将操作结果从内部操作字符集转换为character_set_results。

二、权限相关的表

SCHEMA_PRIVILEGES    -- 提供了数据库的相关权限,信息来自mysql.db

TABLE_PRIVILEGES     -- 提供的是表权限相关信息,信息来自mysql.tables_priv 表中加载的

COLUMN_PRIVILEGES    -- 给出了关于列权限的信息。该信息源自mysql.columns_priv授权表

USER_PRIVILEGES      -- 提供的是表权限相关信息,信息来自mysql.user 表

三、存储数据库系统的实体对象的一些表

COLUMNS                                -- select * from COLUMNS where TABLE_NAME='test' \G  等价于 desc test.test  或者 show columns from test.test; 

INNODB_SYS_COLUMNS                     --存放的是INNODB的元数据, 他是依赖于SYS_COLUMNS这个统计表而存在的。

ENGINES                                -- 支持的engine和默认的engine 

EVENTS                                 -- 等价于 show events 或者mysql.event,备份是要加上--event,主库设置event_scheduler=ON,从库event_scheduler=OFF

FILES                                  -- 表空间文件,MySQL的表空间中的数据存储的文件的信息,文件存储的位置,

PARAMETERS                             -- 参数表存储了一些存储过程和方法的参数,以及存储过程的返回值信息。存储和方法在ROUTINES里面存储。

PLUGINS                                -- 基本上是MySQL的插件信息,是否是活动状态等信息。SHOW PLUGINS的信息来自此

ROUTINES                               --关于存储过程和方法function的一些信息以及帮助文档,不过这个信息是不包括用户自定义的,只是系统的一些信息。mysql.proc name

SCHEMATA                               --这个表提供了实例下有多少个数据库,而且还有数据库默认的字符集

TRIGGERS                              这个表记录的就是触发器的信息,包括所有的相关的信息。系统的和自己用户创建的触发器。

VIEWS                                  -- 视图的信息,也是系统的和用户的基本视图信息。

四、约束外键等相关的一些表

REFERENTIAL_CONSTRaiNTS              --提供的外键相关的信息,而且只提供外键相关信息

TABLE_CONSTRAINTS                    --提供的是相关的约束信息,比较全面

INNODB_SYS_FOREIGN_COLS              --存储的INNODB关于外键的元数据信息和SYS_FOREIGN_COLS 存储的信息是一致的

INNODB_SYS_FOREIGN                   --存储的INNODB关于外键的元数据信息和SYS_FOREIGN_COLS 存储的信息是一致的,只不过是单独对于INNODB来说的

KEY_COLUMN_USAGE                     --描述了具有约束的键列。

五、关于管理的一些的一些表:

GLOBAL_STATUS                          -- 不可查,see the documentation for 'show_compatibility_56'  show global status 

GLOBAL_VARIABLES                       -- 不可查,see the documentation for 'show_compatibility_56'  show global variables 

SESSION_STATUS                         -- 不可查,see the documentation for 'show_compatibility_56'  show  status 

SESSION_VARIABLES                      -- 不可查,see the documentation for 'show_compatibility_56'  show  variables 

PARTITIONS                             -- MySQL分区表相关的信息

PROCESSLIST                            --SHOW PROCESSLIST 数据来自此表

INNODB_CMP_PER_INDEX                   -- 存储关于压缩INNODB表的相关信息

INNODB_CMP_PER_INDEX_RESET             -- 存储关于压缩INNODB表的相关信息

INNODB_CMPMEM                          -- 存放关于MySQL INNODB的压缩页的buffer pool信息,和show variables like 'innodb_cmp_per_index_enabled';有关,打开影响性能

INNODB_CMPMEM_RESET                    -- 存放关于MySQL INNODB的压缩页的buffer pool信息,和show variables like 'innodb_cmp_per_index_enabled';有关,打开影响性能

INNODB_BUFFER_POOL_STATS               --供有关INNODB 的buffer pool相关信息,和show engine innodb status提供的信息是相同的。也是show engine innodb status的信息来源。

INNODB_BUFFER_PAGE_LRU                 -- 维护了INNODB LRU LIST的相关信息

INNODB_BUFFER_PAGE                     --存放的是buffer里面缓冲的页数据,查询这个表会对性能产生很严重的影响

INNODB_SYS_DATAFILES                   --这张表就是记录的表的文件存储的位置和表空间的一个对应关系

INNODB_TEMP_TABLE_INFO                 --这个表记录所有的INNODB的所有用户使用到的信息,但是只能记录在内存中和没有持久化的信息。

INNODB_METRICS                         -- 提供INNODB的各种的性能指数,是对INFORMATION_SCHEMA的补充,收集的是MySQL的系统统计信息。这些统计信息都是可以手动配置打开还是关闭的。有以下参数都是可以控制的:innodb_monitor_enable, innodb_monitor_disable, innodb_monitor_reset, innodb_monitor_reset_all。

INNODB_SYS_VIRTUAL   --存储的是INNODB表的虚拟列的信息,

INNODB_CMP    --存储的是关于压缩INNODB信息表的时候的相关信息

INNODB_CMP_RESET  --存储的是关于压缩INNODB信息表的时候的相关信息

六、关于表信息和索引信息的一些表

TABLES   -- 记录的数据库中表的信息,其中包括系统数据库和用户创建的数据库。show table status like 'test1'\G的来源就是这个表

TABLESPACES   -- 这个表是不提供关于innodb的表空间信息的,对于我们来说并没有太大作用,因为我们生产库是强制INNODB的;

INNODB_SYS_TABLES  -- 此表提供了有关表格的格式和存储特性,包括行格式,压缩页面大小位级别的信息

INNODB_SYS_TABLESPACES   -- 提供的是关于INNODB的表空间信息,其实和SYS_TABLESPACES 中的INNODB信息是一致的。

STATISTICS          -- 提供关于表的索引信息,所有索引的相关信息。

INNODB_SYS_INDEXES --提供相关INNODB表的索引的相关信息,和 SYS_INDEXES 这个表存储的信息基本是一样的,

INNODB_SYS_TABLESTATS -- 重要,记录的是MySQL的INNODB表信息以及MySQL优化器会预估SQL选择合适的索引信息,其实就是MySQL数据库的统计信息

INNODB_SYS_FIELDS   --存放INNODB的表索引字段信息,以及字段的排名

INNODB_FT_CONFIG  --存放的是全文索引的信息

INNODB_FT_DEFAULT_STOPWord  -- 存放的是stopword 的信息,是和全文索引匹配起来使用的

INNODB_FT_INDEX_TABLE    --存储的是关于INNODB表有全文索引的索引使用信息的,同样这个表也是要设置innodb_ft_aux_table以后才能够使用的,一般情况下是空的

INNODB_FT_INDEX_CACHE   --存放的是插入前的记录信息,也是为了避免DML时候昂贵的索引重组

七、关于MySQL优化相关的一些表

OPTIMIZER_TRACE                        -- 查看执行计划的选择,set optimizer_trace="enabled=on";SET OPTIMIZER_TRACE_MAX_MEM_SIZE=1000000; desc select * ...; select OPTIMIZER_TRACE\G

PROFILING                       --SHOW PROFILES,不能查看和剖析其他连接的语句,以及剖析时所引起的消耗。profiling_history_size 设为0等价于关闭分析功能

INNODB_FT_BEING_DELETED         --INNODB_FT_BEING_DELETED 这张表是INNODB_FT_DELETED的一个快照

INNODB_FT_DELETED               -- OPTIMIZE TABLE 的时候才会使用

八、关于MySQL事物和的相关的一些表

INNODB_LOCKS                          INNODB_LOCKS表主要包含了InnoDB事务锁的具体情况,包括事务正在申请加的锁和事务加上的锁。

INNODB_TRX                            INNODB_TRX表主要是包含了正在InnoDB引擎中执行的所有事务的信息,包括waiting for a lock和running的事务

INNODB_LOCK_WAITS                     INNODB_LOCK_WAITS表包含了blocked的事务的锁等待的状态

看完MySQL information_schema库相关知识这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的数据库栏目。

您可能感兴趣的文档:

--结束END--

本文标题: 介绍一些MySQL information_schema库相关知识

本文链接: https://www.lsjlt.com/news/34467.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 介绍一些MySQL information_schema库相关知识
    下面一起来了解下MySQL information_schema库相关知识,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL information_schema库相关知识这篇短内容是你想要的。m...
    99+
    2022-10-18
  • MySql索引相关知识介绍
    下面一起来了解下MySql索引相关知识,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySql索引相关知识这篇短内容是你想要的。          &n...
    99+
    2022-10-18
  • 一些有关MySQL基础知识介绍
    本文主要给大家介绍 一些有关MySQL基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下 一些有关MySQL基础知识吧。&n...
    99+
    2022-10-18
  • mysql存储引擎相关知识介绍
    不知道大家之前对类似mysql存储引擎相关知识介绍的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完mysql存储引擎相关知识介绍你一定会有所收获的。mysql的物理...
    99+
    2022-10-18
  • CentOS6.3启动的相关知识介绍
    这篇文章主要介绍“CentOS6.3启动的相关知识介绍”,在日常操作中,相信很多人在CentOS6.3启动的相关知识介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CentOS6.3启动的相关知识介绍”的疑...
    99+
    2023-06-10
  • 介绍golang的%用法及相关知识
    在Go语言中,我们经常会用到%来进行格式化输出操作,%用法非常灵活,下面我们就来介绍一下golang的%用法及相关知识。基本用法:%用法最基本的形式就是用它将变量替换为指定的格式。例如下面代码将i替换为%d,%d表示输出变量i为十进制整数。...
    99+
    2023-05-14
  • linux shell数组的相关知识介绍
    本篇内容主要讲解“linux shell数组的相关知识介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux shell数组的相关知识介绍”吧!数组的声明:1)array[key]=val...
    99+
    2023-06-09
  • 关于MySql知识的详细介绍
    下文主要给大家带来关于MySql知识的详细介绍,希望这些内容能够带给大家实际用处,这也是我编辑关于MySql知识的详细介绍这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。    ...
    99+
    2022-10-18
  • MySQL数据库相关知识点有哪些
    这篇文章给大家分享的是有关MySQL数据库相关知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、数据库概要数据库(Database)是存储与管理数据的软件系统,就像一...
    99+
    2022-10-18
  • MySQL知识【数据库相关概念】第一章
    💂 个人主页: 爱吃豆的土豆🤟 版权: 本文由【爱吃豆的土豆】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 🏆...
    99+
    2023-08-31
    数据库 mysql sql
  • mysql数据库的知识点介绍
    这篇文章将为大家详细讲解有关mysql数据库的知识点,文章内容质量较高,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、关系型数据库与非关系型数据库1、关系型数据库的特点:1)数据以表格的...
    99+
    2022-10-18
  • MySQL相关知识点有哪些
    这篇文章主要介绍了MySQL相关知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 1、数据库架构1.1...
    99+
    2022-10-19
  • mysql binlog相关知识点有哪些
    本篇内容主要讲解“mysql binlog相关知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql binlog相关知识点有哪些”吧! ...
    99+
    2022-10-19
  • 详细介绍uniapp中网络请求的相关知识
    随着移动互联网的快速发展,移动端应用需求不断增加,网络请求成为了应用开发的必要部分。而uniapp框架则极大地方便了开发者,封装了常见的网络请求API,极大的降低了开发复杂度。本文将详细介绍uniapp中网络请求的相关知识。uni.requ...
    99+
    2023-05-14
  • Android应用程序签名步骤及相关知识介绍
    本文主要讲解Android应用程序签名相关的理论知识,包括:什么是签名、为什么要给应用程序签名、如何给应用程序签名等。 1、什么是签名?   &n...
    99+
    2022-06-06
    程序 Android
  • 详细介绍MySQL数据库索引知识
    下面讲讲关于MySQL数据库索引知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL数据库索引知识这篇文章你一定会有所受益。MySQL数据库------索引一、索引的介...
    99+
    2022-10-18
  • MySQL中information_schema库中关于锁相关表的字段解释有哪些
    这篇文章主要为大家展示了“MySQL中information_schema库中关于锁相关表的字段解释有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQ...
    99+
    2022-10-18
  • 简单介绍MySQL数据库的基础知识
    下文主要给大家带来MySQL数据库的基础知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据库的基础知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库1 、定义数据库,可以简单...
    99+
    2022-10-18
  • MySQL索引的相关知识点有哪些
    本篇内容介绍了“MySQL索引的相关知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!索引介绍索引...
    99+
    2022-10-18
  • MySQL数据库锁机制的相关原理介绍
    这篇文章主要讲解了“MySQL数据库锁机制的相关原理介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库锁机制的相关原理介绍”吧!  不同于行...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作