zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

如何查询MySQL表的大小(mysql一张表有多大)

mysql 如何 查询 大小 一张
2023-06-13 09:11:17 时间

如何查询MySQL表的大小?

MySQL是开源的关系型数据库管理系统,也是Web应用程序的重要组成部分之一。正常情况下,一个MySQL数据库可能含有多个表,这些表在才有行、列和索引等数据结构的基础上,存储着各种各样的数据。查询MySQL表的大小是管理员和开发者日常管理的一个基本操作,本文将介绍两种查询表大小的方法。

方法一:使用内置系统表

在MySQL中,可以使用 SHOW TABLE STATUS 或 INFORMATION_SCHEMA.TABLES 两个系统表查询表的元数据信息。其中,SHOW TABLE STATUS 可以显示表的数据文件大小、索引文件大小、平均行长度、总行数,而 INFORMATION_SCHEMA.TABLES 列出了数据库中所有表的详细信息,包括表的行数、大小、引擎等等。

使用SHOW TABLE STATUS查询

可以使用以下语法查询MYSQL中单张表的大小和行数量:

SHOW TABLE STATUS FROM [database_name] LIKE [table_name]

如下面的例子,该命令查询了数据库中名为“test”的表的元数据信息:

mysql SHOW TABLE STATUS FROM test LIKE book

输出结果包含诸如数据长度、索引长度、总长度、行数和平均行长度等信息。

+ + + + + -+ -+ -+ + + + -+ + -+ + + -+ -+ +

| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |

+ + + + + -+ -+ -+ + + + -+ + -+ + + -+ -+ +

| book | InnoDB | 10 | Dynamic | 4 | 4096 | 16384 | 0 | 32768 | 0 | NULL | 2017-08-25 12:10:36 | NULL | NULL | utf8_general_ci | NULL | | |

+ + + + + -+ -+ -+ + + + -+ + -+ + + -+ -+ +

数据文件大小为16384字节,索引文件大小为32768字节。

使用INFORMATION_SCHEMA.TABLES查询

你也可以使用系统数据库information_schema中的TABLES查询表的信息。以下是代码示例:

SELECT table_schema Database , sum(data_length+index_length)/1024/1024 Table size (MB)

FROM information_schema.TABLES

GROUP BY table_schema;

这个语句将给出每个库的每个表的大小

+ + +

| Database | Table size (MB) |

+ + +

| mysql | 1.2250 |

| performance_schema | 0.0000 |

| sys | 0.0156 |

| test | 0.0156 |

+ + +

方法二:文件系统命令

使用查询命令可以很方便地得到表的大小,还可以利用文件系统命令快速地得到表所占用的磁盘空间。

进入MYSQL数据文件所在文件夹,通过ls –l 可以列出数据目录下的所有文件及文件大小,其中的.frm结尾的文件是表的结构文件,.MYD是数据文件,.MYI是索引文件。那么使用以下命令就可以查询数据文件大小:

du -h table1.MYD

这时会在屏幕上输出以“M”或“G”为单位的表的数据文件大小。

通过以上两种方法,你可以轻易查询MYSQL中表的大小,无论在日常的维护还是生产环境上的运维,这个操作都是非常有必要和便捷的。

代码示例:

select

SHOW TABLE STATUS LIKE table_name

information_schemaでテーブルサイズの合計

SELECT table_schema データベース名 ,

SUM( data_length + index_length ) / 1024 / 1024 テーブルサイズ(MB)

FROM information_schema.TABLES

GROUP BY table_schema;

ファイルで確認

du -h ファイル名.MYD


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 如何查询MySQL表的大小(mysql一张表有多大)