MySQL 之 SHOW TABLE STATUS 简介

MySQL 之 SHOW TABLE STATUS 简介

大家好,我是搬砖小李哥,今天分享一个 MySQL 的小知识!

看一下没关系,反正也不收钱,万一学到了呢~

随着小李哥的邪魅一笑,开启了正文

show table status 这个语句大家常用吗?一般来说常用但也不常用,比如一些同学可能就不常用!

show table status 是干嘛用的呢?

其实他主要是显示表的相关信息!

说到这里,不得不用上之前在 Linux 上搭建的 MySQL了 ,相关文章我贴到下方了

我们以 user 表为例

先登陆 MySQL 命令不用说了吧?什么不行,需要说一下?算了,小李哥无奈的叹了叹气,还是把命令贴了出来

mysql -u登陆用户 -p

比如我这里的登陆用户是root,则输入:

mysql -uroot -p

然后使用 mysql 这个数据库 :

use mysql;

查看 mysql 这个数据库里有哪些表:

show tables;

接着用你那单身 20 年的手速,敲出 如下命令行:

show table status like 'user' \G 

有人说 \G 看不明白?

\G 的作用:是将查到的结构旋转90度变成纵向

来个对比,可能更直接

是不是很乱,看起来不太方便

这个是不是更清晰呢,有些人是不是又学到一招?

回到主题,简单介绍下 show table status 都显示表的哪些信息。

mysql> show table status like 'user' \G;
*************************** 1. row ***************************
           Name: user
         Engine: MyISAM
        Version: 10
     Row_format: Dynamic
           Rows: 8
 Avg_row_length: 121
    Data_length: 972
Max_data_length: 281474976710655
   Index_length: 4096
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2021-12-19 15:12:24
    Update_time: 2021-12-19 10:47:32
     Check_time: NULL
      Collation: utf8_bin
       Checksum: NULL
 Create_options: 
        Comment: Users and global privileges

Name

表名

Engine

表的存储引擎,在旧版本中,该列的名字叫做 Type,而不是 Engine。

Version

表的 .frm 文件的版本号。

Row_format

行的格式。对于 MyISAM 表,可选的值为 Dynamic、Fixed 或者 Compressed。

Dynamic 的行长度是可变的,一般包含可变长度的字段,如 VARCHAR 或者 BLOB。

Fixed 的行长度则是固定的,值包含固定长度的列,如 CHAR 和 INTEGER。

Compressed 的行则只在压缩表中存在,压缩表是不能够修改的(除非先将表解除压缩,修改数据,然后再次压缩),压缩表可以极大的减少磁盘空间占用,一次也可以减少磁盘 I/O,从而提升查询性能。压缩表也支持索引,但索引也是只读的。

Rows

表中的行数。对于 MyISAM 和其他的一些存储引擎,该值是精确的,但对于 InnoDB,该值是估计值。

Avg_row_length

平均每行包含的字节数。

Data_length

表数据的大小(以字节为单位)。

Max_data_length

表数据的最大容量,该值和存储引擎有关。

Index_length

索引的大小(以字节为单位)。

Data_free

对于 MyISAM 表,表示已分配但目前没有使用的空间。这部分空间包括了之前删除的行,一级后续可以被 insert 利用到的空间。

Auto_increment

下一个 auto_increment 的值。

Create_time

表的创建时间。

Update_time

表数据的最后修改时间。

Check_time

使用 check table 命令货值 myisamchk 工具最后一次检查表的时间。

Collation

表默认字符集和字符列排序规则。

Checksum

如果启用,保存的是整个表的实时校验和。

Create_options

创建表指定的其他选项。

Comment

该列包含了一些其他的额外信息。对于 MyISAM 表,保存的是表在创建时带的注释。对于 InnoDB 表,则保存的是 InnoDB 表空间的剩余空间信息。如果是一个视图,则该列包含 “VIEW” 的文本字样。

又到了,该说再见的时候,离别总是辛苦的,期待下次遇见!

赠人玫瑰,手有余香,觉得有用的点赞关注下 @搬砖小李哥 吧,你一个小小的举动,是我创作的动力

如果有想要看的技术内容也可以评论区留言,小李哥会尽量安排上哦!

发布于 2021-12-26 13:49