MySQL数据库查看数据表占用空间大小和记录数

有运维或运维开发方面的需求,可以联系博主QQ 452336092或Email:admin#centos.bz(收费)

MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小

一个表占用空间的大小,相当于是 数据大小 + 索引大小,
示例:

1、查看enrolment_db库的所有表大小:

select table_name,table_rows from tables where TABLE_SCHEMA = 'enrolment_db' order by table_rows desc; 

2、查看enrolment_db库的所有表大小、索引长度:

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='enrolment_db' order by TABLE_ROWS DESC;

3、统计enrolment_db表的所有记录条数:

SELECT sum(TABLE_ROWS) as heji FROM information_schema.TABLES WHERE TABLE_SCHEMA='enrolment_db';

注意:InnoDB引擎下table_rows行计数仅是大概估计值.

原文出处:aliang -> https://aliang.org/MySQL/table_rows.html

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^