information_schema系列七

这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益。

第七篇主要看一下一下几系统表:PARAMETERS (定义参数),PARTITIONS(分区相关),PLUGINS(插件),PROCESSLIST(链接信息),PROFILING(优化相关,可以查看具体运行时间等信息) ,REFERENTIAL_CONSTRAINTS (外键约束相关信息),SCHEMATA(SCHEMA信息) ,SCHEMA_PRIVILEGES (mysql.db)

1:PARAMETERS

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

INFORMATION_SCHEMA Name Remarks
SPECIFIC_CATALOG def
SPECIFIC_SCHEMA routine database
SPECIFIC_NAME routine name
ORDINAL_POSITION 1, 2, 3, ... for parameters, 0 for function RETURNS clause
PARAMETER_MODE IN, OUT, INOUT (NULL for RETURNS)
PARAMETER_NAME parameter name (NULL for RETURNS)
DATA_TYPE same as for COLUMNS table
CHARACTER_MAXIMUM_LENGTH same as for COLUMNS table
CHARACTER_OCTET_LENGTH same as for COLUMNS table
NUMERIC_PRECISION same as for COLUMNS table
NUMERIC_SCALE same as for COLUMNS table
DATETIME_PRECISION same as for COLUMNS table
CHARACTER_SET_NAME same as for COLUMNS table
COLLATION_NAME same as for COLUMNS table
DTD_IDENTIFIER same as for COLUMNS table
ROUTINE_TYPE same as for ROUTINES table

具体的列大部分和ROUTINES里面一致,,前面的系列已经讲过了,所以不过多介绍了。

2: PARTITIONS

顾名思义存储了MySQL分区表相关的信息,通过这张表我们可以查询到分区的相关信息,如下:

查看数据库中已分区的表:

select distinct TABLE_NAME from information_schema.PARTITIONS where TABLE_SCHEMA=‘qiandai‘ and PARTITION_NAME is not null ;

查看每个分区表有多少个分区以及每个分区的行数:

select TABLE_SCHEMA, TABLE_NAME,PARTITION_NAME,TABLE_ROWS,PARTITION_EXPRESSION,PARTITION_METHOD,PARTITION_DESCRIPTION 

from information_schema.PARTITIONS where TABLE_SCHEMA=‘qiandai‘ and TABLE_NAME=‘employees‘ ;

3:PLUGINS

这个表存放的是系统相关插件信息,可以通过以下的语句查看

SHOW PLUGINS

看到基本上是MySQL的插件信息,是否是活动状态等信息。其实SHOW PLUGINS本身就是通过这张表来拉取道德数据。

4: PROCESSLIST

我们可以看到PROCESSLIST和show processlist里面的信息是一致的,显示当前的连接数

show processlist其实就是从这个表拉取数据,PROCESSLIST的数据是他的基础。所以我们相当于在内存中查询一样,这些操作都是很快的。

5:PROFILING

这个表提供报表分析信息,可以通过SHOW PROFILES ;show PROFILE都可以提供相同的信息。

INFORMATION_SCHEMA Name SHOW Name
QUERY_ID Query_ID
SEQ  
STATE Status
DURATION Duration
CPU_USER CPU_user
CPU_SYSTEM CPU_system
CONTEXT_VOLUNTARY Context_voluntary
CONTEXT_INVOLUNTARY Context_involuntary
BLOCK_OPS_IN Block_ops_in
BLOCK_OPS_OUT Block_ops_out
MESSAGES_SENT Messages_sent
MESSAGES_RECEIVED Messages_received
PAGE_FAULTS_MAJOR Page_faults_major
PAGE_FAULTS_MINOR Page_faults_minor
SWAPS Swaps
SOURCE_FUNCTION Source_function
SOURCE_FILE Source_file
SOURCE_LINE Source_line

看一下列基本信息。

SHOW PROFILES和SHOW PROFILE的一些记录。

默认这个功能是关闭的,可以使用以下语句打开这个功能:

SET profiling = 1;

然后就可以看到这个会话记录的信息。

我们运行一个查询信息,

select * from qiandai.t1;

然后进行查询:

SHOW PROFILES;

就能够查看记录的信息了:

[email protected] [(none)]>SHOW PROFILES;
+----------+------------+--------------------------+
| Query_ID | Duration | Query |
+----------+------------+--------------------------+
| 1 | 0.00101925 | select * from qiandai.t1 |
+----------+------------+--------------------------+
1 row in set, 1 warning (0.00 sec)

能看到执行信息,还有使用的时间。

然后使用SHOW PROFILE可以看到具体的耗时,从这个查询开始到结束:

[email protected] [(none)]>SHOW PROFILE;
+----------------------+----------+
| Status | Duration |
+----------------------+----------+
| starting | 0.000219 |
| checking permissions | 0.000035 |
| checking permissions | 0.000016 |
| Opening tables | 0.000047 |
| init | 0.000101 |
| System lock | 0.000040 |
| optimizing | 0.000054 |
| statistics | 0.000083 |
| preparing | 0.000063 |
| executing | 0.000019 |
| Sending data | 0.000187 |
| end | 0.000021 |
| query end | 0.000023 |
| closing tables | 0.000023 |
| freeing items | 0.000040 |
| cleaning up | 0.000051 |
+----------------------+----------+
16 rows in set, 1 warning (0.00 sec)

SHOW PROFILE可以深入的查看服务器执行语句的工作情况。以及也能帮助你理解执行语句消耗时间的情况。一些限制是它没有实现的功能,不能查看和剖析其他连接的语句,以及剖析时所引起的消耗。

SHOW PROFILES显示最近发给服务器的多条语句,条数根据会话变量profiling_history_size定义,默认是15,最大值为100。设为0等价于关闭分析功能。

SHOW PROFILE FOR QUERY n,这里的n就是对应SHOW PROFILES输出中的Query_ID。

SHOW PROFILE CPU FOR query 1;其中类型是可以选择的,我们可以根据自己的需要进行查询。

(1)ALL 显示所有性能信息
(2)LOCK IO 显示块IO操作的次数
(3)CONTEXT SWITCHES 显示上下文切换次数,不管是主动还是被动
(4)CPU 显示用户CPU时间、系统CPU时间
(5)IPC 显示发送和接收的消息数量
(6)MEMORY [暂未实现]
(7)PAGE FAULTS 显示页错误数量
(8)SOURCE 显示源码中的函数名称与位置
(9)SWAPS 显示SWAP的次数

6:REFERENTIAL_CONSTRAINTS

这个表提供的外键相关的信息,而且只提供外键相关信息;可以通过TABLE_NAME进行筛选CONSTRAINT_SCHEMA 这个是外键约束名字

7:SCHEMATA

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

8:SCHEMA_PRIVILEGES

这个提供了数据库的相关权限,这个表是内存表是从mysql.db中拉去出来的。

select * from information_schema.SCHEMA_PRIVILEGES ;

时间: 2024-08-06 15:55:32

information_schema系列七的相关文章

struts2官方 中文教程 系列七:消息资源文件

介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字段标签,并根据用户的语言环境将文本更改为特定的语言. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列七:消息资源文件  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 信息资源属性文件 在Struts2 we

Exchange Server2013 系列七:客户端访问服务器高可用性部署实战

杜飞 在前面的文章中我们介绍了客户端访问服务器的高可用性技术,从这篇文章开始,我们就来看一个详细的高可用性部署方案. 首先,看一下我们的服务器列表: 编号 服务名 IP地址 功能 1 HYV01 IP:10.41.3.6 \16  网关:10.41.1.254 宿主机 2 HYV02 IP:10.41.4.6 \16  网关:10.41.1.254 宿主机 3 DF-DC01 IP:10.41.4.210\16 网关:10.41.1.254 DNS:10.41.4.210   10.41.4.2

C语言快速入门系列(七)

C语言快速入门系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比如二级指针, 指针数组,内存分配和const修饰指针常量等!下面就请大家跟随笔者的脚步,对 C指针神秘的一面进行进一步的解析吧! 本节学习路线图: 函数与指针: ①指针作为函数的形参: ②指向函数的指针: ③指针函数: ④带参数的主函数 ps:该代码的运行:先要编译生成exe文件后,来到exe所在文件目

Maven 系列 七 :Maven的生命周期和插件

一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周期是抽象的,其中的具体任务都交由插件来完成.Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin.用户也可自行配置或编写插件. 1 . 三套生命周期 Maven定义了三套生命周期:clean.default.site,每个生命周期都包含了一些阶段(phase).三套生命周期相互独立,但各个生

7.oracle学习门户系列七---网络管理和配置

oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上呢-..咳咳-..我们继续往下走 数据库的网络配置是比較基础可是也是很重要的.假设一个数据库连不上外部的世界:那么他就是一个孤立的资源,基本上就能够确认这是个无用的数据库系统. 我们在数据库定义中以前讲过,数据库是须要有多用户分享的,没有网络何来分享呢?对不正确.那肯定不是数据库了嘛. 前面摘要已经

iOS流布局UICollectionView系列七——三维中的球型布局

摘要: 类似标签云的球状布局,也类似与魔方的3D布局 iOS流布局UICollectionView系列七--三维中的球型布局 一.引言 通过6篇的博客,从平面上最简单的规则摆放的布局,到不规则的瀑布流布局,再到平面中的圆环布局,我们突破了线性布局的局限,在后面,我们将布局扩展到了空间,在Z轴上进行了平移,我们实现了一个类似UIPickerView的布局模型,其实我们还可以再进一步,类比于平面布局,picKerView只是线性排列布局在空间上的旋转与平移,这次,我们更加充分了利用一下空间的尺寸,来

S5PV210开发系列七_Nand驱动实现

S5PV210开发系列七 Nand驱动实现 象棋小子    1048272975 Nand flash具有大容量.改写速度快.接口简单等优点,适用于大量数据的存储,为固态大容量存储提供了廉价有效的解决方案.各种电子产品中如手机存储器.sd卡.u盘等均采用Nand flash存储,笔者此处就Nand驱动实现作一个简单的介绍. 1.  Nand flash概述 东芝公司在1989年最先发表Nand flash结构,强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级.随着Nand技术

小编带你了解Netty 系列七(那些开箱即用的 ChannelHandler).

一.前言Netty 为许多通用协议提供了编×××和处理器,几乎可以开箱即用, 这减少了你在那些相当繁琐的事务上本来会花费的时间与精力.另外,这篇文章中,就不涉及 Netty 对 WebSocket协议 的支持了,因为涉及的篇幅有点大,会在下一篇文章做一个具体的介绍. 回到顶部二.SSL 协议SSL 协议是安全协议,层叠在其他协议之上.为了支持 SSL/TLS, Java 提供了 javax.net.ssl 包,它的 SSLContext 和 SSLEngine 类使得实现解密和加密相当简单直接.

information_schema系列五(表,触发器,视图,存储过程和函数)

这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益. 1:TABLES TABLES这张表毫无疑问了,就是记录的数据库中表的信息,其中包括系统数据库和用户创建的数据库.而TABLESPACES 却是标注的活跃表空间. 看一下TABLES 的记录关于TEST1表: 其实我们通过show table status like 'test1'\G;可以看到相同的信息. TABLE_TYPE这列有两种类型,分别是BASE TAB