如何查询MySQL表的大小(mysql一张表有多大)
如何查询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一张表有多大)
相关文章
- MySQL同时执行多条语句(mysql执行两条语句)
- MySQL默认路径之旅(mysql默认路径)
- 掌握MySQL中的所有查询函数(mysql查询所有函数)
- 写MySQL数据库:解析大小写的潜力(mysql数据库的大小)
- MySQL 三种索引技术:实现更快的查询效率(mysql三种索引)
- MySQL掌握表结构:基础查询语句(mysql查看表结构)
- MySQL查询优化:基于分区的数据检索(mysql查询分区)
- MySQL中保存和操作数组(mysql保存数组)
- MySQL安装后提示服务未找到(mysql安装后无服务)
- 的内存MySQL:提升服务性能的内存需求(mysql要多大)
- MySQL如何连接远程数据库(mysql链接远程数据库)
- 如何快速找回MySQL数据库密码(忘记mysql数据库密码)
- MySQL日期函数date使用指南(mysql date())
- MySQL中修改主键名的方法(mysql中修改主键名)
- MySQL代码过长的优化方法汇总(mysql中代码太长)
- MySQL内连接解析查询两张表中共有的数据(mysql中什么叫内连接)
- 如何正确使用MySQL中的JOIN语句(mysql中join和)
- MySQL与CAPP的结合,大幅度提升数据库性能(capp数据库mysql)
- MySQL数据库恢复之gz文件简易指南(.gz mysql)
- Mysql实现三个表的链接操作(mysql 三个表链接)
- MySQL实现两个数据相加(mysql 两数据相加)
- 如何选择适合自己的 MySQL 版本(mysql 下载哪一版)
- MySQL备份计划下月月底该如何准备(mysql 下月月底)
- MySQL数据库怎样进行字段上移操作(mysql 上移字段)
- MySQL异步查询无法实现(mysql不支持异步查询)