`

MySQL维护命令集锦--查看表的状态(show table status)

阅读更多
查看表的引擎类型等状态信息:
show table status from <db_name>
[root@mail ~]# mysql -h 192.168.1.250 -uroot -p -e "show table status from upload\G"|grep -A1 -B1 -i name

...
*************************** 30. row ***************************
Name: ac_upload_system_announce
Engine: MyISAM
--
*************************** 31. row ***************************
Name: ac_upload_tag
Engine: InnoDB
--
*************************** 32. row ***************************
Name: ac_upload_user
Engine: InnoDB
--
*************************** 33. row ***************************
Name: ac_upload_user_account
Engine: InnoDB
...

下面这句能看到某个表的所有状态信息:
[root@mail ~]# mysql -h 192.168.1.250 -uadmin -p -e "show table status from upload\G"|grep -i -B1 -A17 '\<ac_upload_user\>'
*************************** 32. row ***************************
Name: ac_upload_user
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 118754
Avg_row_length: 269
Data_length: 32047104
Max_data_length: 0
Index_length: 7340032
Data_free: 0
Auto_increment: 173874
Create_time: 2009-03-06 04:31:59
Update_time: NULL
Check_time: NULL
Collation: utf8_bin
Checksum: NULL
Create_options:
Comment: InnoDB free: 130048 kB


[root@master ~]# mysql -uroot -p -e "show table status from upload like 'ac_upload_pm'\G"
*************************** 1. row ***************************
Name: ac_upload_pm
Engine: MyISAM
Version: 10
Row_format: Dynamic
Rows: 434732
Avg_row_length: 1162
Data_length: 505249200
Max_data_length: 281474976710655
Index_length: 4463616
Data_free: 0
Auto_increment: 469941
Create_time: 2008-12-18 14:49:58
Update_time: 2008-12-25 01:08:05
Check_time: NULL
Collation: utf8_bin
Checksum: NULL
Create_options:
Comment:

命令介绍:如果是myisam存储引擎,那么行数是精确的。如果是inndob引擎,Max_data_length的值总显示为0,不知道为什么。一个公式:

Data_length/Rows = Avg_row_length

[root@master ~]# myisamchk -dv /var/lib/mysql/upload/ac_upload_pm

MyISAM file:         /var/lib/mysql/upload/ac_upload_pm
Record format:       Packed
Character set:       utf8_general_ci (33)
File-version:        1
Creation time:       2008-12-18  6:49:58
Status:              changed
Auto increment key:              1  Last value:                469940
Data records:               434732  Deleted blocks:                 0
Datafile parts:             434732  Deleted data:                   0
Datafile pointer (bytes):        6  Keyfile pointer (bytes):        5
Datafile length:         505249200  Keyfile length:           4463616
Max datafile length: 281474976710654  Max keyfile length: 1125899906841599
Recordlength:                  643

table description:
Key Start Len Index   Type                     Rec/key         Root  Blocksize
1   2     4   unique  long                           1      3322880       1024

注意:
Max datafile length:最大数据尺寸(.MYD) 256TB
Max keyfile length: 最大索引尺寸(.MYI) 1PB
--------------------------------------------------------------------------------
命令参数解释:

SHOW TABLE STATUS [FROMdb_name] [LIKE 'pattern']
SHOW TABLE STATUS的性质与SHOW TABLE类似,不过,可以提供每个表的大量信息。您也可以使用mysqlshow --statusdb_name命令得到此清单。

本语句也显示视图信息。

对于NDB Cluster表,本语句的输出显示Avg_row_length和Data_length列的适当值,不过BLOB列没有被考虑进来。另外,复制数量在Comment列中显示(作为number_of_replicas)。

SHOW TABLE STATUS会返回以下字段:

        Name

表的名称。

        Engine

表的存储引擎。在MySQL 4.1.2之前,本值被标记为Type。请参见第15章:存储引擎和表类型。

        Version

表的.frm文件的版本号。

        Row_format

行存储格式(Fixed,Dynamic,Compressed,Redundant,Compact)。InnoDB表的格式被报告为Redundant或Compact。

        Rows

行的数目。部分存储引擎,如MyISAM,存储精确的数目。

对于其它存储引擎,比如InnoDB,本值是一个大约的数,与实际值相差可达40到50%。在这些情况下,使用SELECT COUNT(*)来获得准确的数目。

对于在INFORMATION_SCHEMA数据库中的表,Rows值为NULL。

        Avg_row_length

平均的行长度。

        Data_length

数据文件的长度。

        Max_data_length

数 据文件的最大长度。如果给定了数据指针的大小,这是可以被存储在表中的数据的字节总数。mysql5以后的版本所能支持的最大存储容量是非常大的,上面的 列子为256TB。这时表的最大存储容量主要受限于OS了。不过到现在,Linux ext3 fs支持单个最大文件尺寸2T了,所以基本这个问题不必过于担心了。存储引擎是innodb的话,这个值在show table status显示的值总是为0,不知道为什么。

        Index_length

索引文件的长度。

        Data_free

被整序,但是未使用的字节的数目。

        Auto_increment

下一个AUTO_INCREMENT值。

        Create_time

什么时候表被创建。

        Update_time

什么时候数据文件被最后一次更新。

        Check_time

什么时候表被最后一次检查。不是所有的存储引擎此时都更新,在此情况下,值为NULL。

        Collation

表的字符集和整序。

        Checksum

活性校验和值。

        Create_options

和CREATE TABLE同时使用的额外选项。

        Comment

创建表时使用的评注(或者有关为什么MySQL可以访问表信息的说明)。

在表评注中,InnoDB表报告表所属的表空间的空闲空间。对于一个位于共享表空间中的表,这是共享表空间中的空闲空间。如果您正在使用多个表空间,并且该表有自己的表空间,则空闲空间只用于此表。

对于MEMORY (HEAP)表,Data_length, Max_data_length和Index_length值近似于被整序的存储器的实际值。整序算法预留了大量的存储器,以减少整序操作的数量。

对于视图,由SHOW TABLE STATUS显示的所有字段均为NULL。例外情况是Name指示为视图名称同时Comment称为视图。
分享到:
评论

相关推荐

    MySQL常用命令---创建数据库创建表.pdf

    MySQL常用命令---创建数据库创建表 MySQL是最流行的开源关系型数据库管理系统,广泛应用于Web应用开发、企业数据存储、数据分析等领域。作为一名IT从业者,熟悉MySQL常用命令是必不可少的技能之一。本文档将详细...

    mysql命令,mysql -h主机地址 -u用户名 -p密码

    `命令可以查看当前MySQL服务器上所有的数据库列表。 - **选择数据库**:使用`USE 数据库名;`命令可以切换到指定的数据库。 - **显示数据库中的表**:使用`SHOW TABLES;`命令可以列出当前数据库中所有的表。 - **查看...

    MySQL常用命令查询集锦

    MySQL是一种广泛使用的开源关系型数据库管理系统,其命令行界面提供了丰富的功能来管理数据库。这篇集锦主要涵盖了连接MySQL、修改密码、添加用户以及...掌握这些基本命令,能帮助你有效地管理和维护MySQL数据库。

    mysql常用命令大全-最完整版.pdf

    在本篇文章中,我们将深入探讨MySQL的常用命令,这些命令涵盖了从数据库的启动、数据操作到表的管理和维护等多个方面。 1. **启动MySQL服务**: 使用`net start mySql`命令可以在Windows系统中启动MySQL服务。 2....

    mysql 数据库命令大全

    ### MySQL数据库命令详解 #### 一、启动与进入MySQL服务 - **启动MySQL服务**: - `net start mysql`:在Windows系统中用于启动MySQL服务。 - **进入MySQL服务**: - `mysql -u root -p`:登录MySQL服务,其中`-...

    mysql-connector-java-5.1.30

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java-5.1.30`是MySQL官方为Java开发者提供的数据库连接驱动包。这个驱动包使得Java应用程序能够与MySQL数据库进行无缝通信,执行SQL查询,...

    MySQL驱动 mysql-connector-net-6.3.8

    1. **连接管理**:提供建立、维护和断开与MySQL服务器的连接的API,如` MySqlConnection`类。 2. **命令执行**:允许执行SQL命令,包括查询、插入、更新和删除操作,通过` MySqlCommand`类实现。 3. **数据适配器和...

    mysql-community-release-el6-5.noarch.zip

    8. **启动与管理MySQL**:安装完成后,可以通过`systemctl start mysqld`启动MySQL服务,使用`systemctl enable mysqld`设置开机启动,`systemctl status mysqld`检查服务状态。 9. **安全设置**:首次安装后,通常...

    mysql-community-server-8.4.0-1.el9.x86-64

    2. **社区服务器**:MySQL Community Server是开源的,由MySQL社区维护和开发,提供了完整的数据库服务功能,包括SQL支持、事务处理、复制、安全性和备份等。 3. **x86_64架构**:这个版本是为64位系统设计的,意味...

    MySQL-概述-安装配置 mysql-8.0.31-winx64

    4. **初始化MySQL Server**:打开命令提示符,使用以下命令初始化MySQL服务: ``` cd C:\path\to\mysql-8.0.31-winx64\bin mysqld --initialize-insecure ``` 这会创建一个没有密码的root用户。 5. **启动...

    Mysql远程登录及常用命令

    ### MySQL远程登录及常用命令详解 #### 一、MySQL服务的启动和停止 ...这些命令和技巧对于日常管理和维护MySQL数据库来说是非常实用的。掌握这些命令可以帮助您更高效地处理各种数据库操作需求。

    mysql-connector-c-6.1.11-src

    MySQL Connector/C是MySQL数据库系统与C语言应用程序之间的一个接口,它允许C编程语言的应用程序连接到MySQL服务器并执行SQL查询。这个"mysql-connector-c-6.1.11-src"压缩包包含了MySQL Connector/C 6.1.11版本的源...

    mysql-server-mysql-8.3.0.tar.gz

    7. **通用表表达式(Common Table Expressions, CTE)**:这是一类临时结果集,可以用于复杂查询,使代码更易读、更易于维护。 8. **更好的复制和高可用性**:MySQL 8.x提供了改进的复制功能,包括GTID(全局事务...

    mysql-connector-java-3.0.16-ga-bin.jar

    2. **SQL语句执行**:开发人员可以通过`Statement`或`PreparedStatement`对象执行SQL查询和命令,支持DML(数据操纵语言)如INSERT、UPDATE、DELETE,以及DDL(数据定义语言)如CREATE TABLE、ALTER TABLE等。...

    mysql-5.7.44-linux-glibc2.12-x86-64.tar.gz

    - **解压源码包**:首先,你需要使用`tar`命令解压`mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz`,这将生成一个包含所有MySQL文件的目录。 ``` tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz ``` - *...

    MYSQL常用命令教程

    以上就是从“MYSQL常用命令教程”中提炼出来的关键知识点,涵盖了MySQL服务控制、连接管理、用户管理、数据库操作、数据表操作、数据操作以及数据导入导出等方面的核心命令。熟练掌握这些命令,对于日常开发工作及...

    mysql-8.0.26-winx64.zip

    - MySQL 8.0引入了许多新特性,如窗口函数、JSON操作增强、更好的性能优化器、InnoDB表空间加密等。 8. **备份与恢复** - 可以使用`bin\mysqldump.exe`进行数据库备份,而`bin\mysqlimport.exe`用于导入数据。...

Global site tag (gtag.js) - Google Analytics