MySQL数据库空间使用情况查询

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

TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
其他字段请参考MySQL的手册,这几个字段对我们来说最有用。
一个表占用空间的大小,相当于是 数据大小 + 索引大小,

进入information_schema库

USE information_schema;

1.查看MySQL某个库的大小;

MariaDB [information_schema]> select concat(round(((sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024),2),"MB") as db_size from information_schema.tables  where table_schema='DB_NAME';
+------------+
| db_size |
+------------+
| 11199.94MB |
+------------+
1 row in set (0.26 sec)

2.查看库中每张表的大小以及行数;

MariaDB [information_schema]> SELECT TABLE_NAME as "表名",DATA_LENGTH+INDEX_LENGTH as "数据+索引",TABLE_ROWS as "行数" FROM information_schema.TABLES WHERE TABLE_SCHEMA='DB_NAME';
+-------------------------------+---------------+----------+
| 表名 | 数据+索引 | 行数 |
+-------------------------------+---------------+----------+
| tbl_aba| 16384 | 5 |
| tbl_abb| 11691622400 | 35265564 |
| tbl_abc| 20529152 | 51291 |
| tbl_abd| 4227072 | 11475 |
| tbl_abe| 17383424 | 41664 |
| tbl_abf| 16384 | 4 |
| tbl_abg| 16384 | 17 |
| tbl_abh| 16384 | 18 |
| tbl_abi| 16384 | 40 |
| tbl_abj| 16384 | 5 |
| tbl_abk| 16384 | 7 |
| tbl_abl| 16384 | 17 |
| tbl_abm| 16384 | 17 |
| tbl_abn| 16384 | 37 |
+-------------------------------+---------------+----------+
20 rows in set (0.22 sec)

3.查看某张表数据数据、索引等信息的量;

MariaDB [information_schema]> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data_size,
-> concat(round(sum(MAX_DATA_LENGTH/1024/1024),2),'MB') as max_data_size,
-> concat(round(sum(INDEX_LENGTH/1024/1024),2),'MB') as index_size,
-> concat(round(sum(DATA_FREE/1024/1024),2),'MB') as data_free
-> from TABLES where table_schema='DB_NAME' and table_name='TABLES_NAME';
+-----------+---------------+------------+-----------+
| data_size | max_data_size | index_size | data_free |
+-----------+---------------+------------+-----------+
| 6397.00MB | 0.00MB | 4753.00MB | 7.00MB |
+-----------+---------------+------------+-----------+
1 row in set (0.20 sec)

MySQL查看库表的大小的更多相关文章

  1. MySQL查看数据库表容量大小

    本文介绍MySQL查看数据库表容量大小的命令语句,提供完整查询语句及实例,方便大家学习使用. 1.查看所有数据库容量大小 select table_schema as '数据库', sum(table ...

  2. mysql查看各个表的大小

    information_schema 数据库,在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHEMA : 数据库名 TABLE_NAME:表名 ENGINE:所使用的存储引 ...

  3. mysql查看某个表的列名

    mysql查看某个表的列名mysql -uusername -p 输入密码按登录mysqlshow databases; 查看有哪些数据库use dbname; 选择数据库show tables:查看 ...

  4. MYSQL查看数据表最后更新时间

    MYSQL查看数据表最后更新时间 - 拨云见日 - CSDN博客 https://blog.csdn.net/warnerwu/article/details/73352774 mysql> S ...

  5. SQL查看所有表的大小

    --查看所有表的大小 declare @id int ) declare @pages int declare @dbname sysname ,) ,) ,) create table #spt_s ...

  6. mysql查看库、表占用存储空间大小

    http://blog.csdn.net/bzfys/article/details/55252962 1. 查看该数据库实例下所有库大小,得到的结果是以MB为单位 <span class=&q ...

  7. MySQL统计库表大小

    统计每个库每个表的大小是数据治理的其中最简单的一个要求,本文将从抽样统计结果及精确统计结果两方面来统计MySQL的每个库每个表的数据量情况. 1.统计预估数据量 mysql数据字典库informati ...

  8. mysql 查看库结构---查看表结构

    查看库结构:SHOW DATABASES; 查看表结构: show tables即为显示当前数据库中所有的表.又如: mysql> use dbname //进入dbname库Database ...

  9. MySQL查看 InnoDB表中每个索引的高度

    我们都知道MySQL里,索引通常用B+树来实现的.B+树的叶子结点才具体保存数据(聚簇索引保存的是行数据:普通索引是主键,如有需要得回表),非叶子结点都是用来索引叶子结点的.假设索引高度为h,那么每次 ...

随机推荐

  1. Linux iptables防火墙

    查找安装包yum list | grep iptables 安装iptables yum install iptables-services 重启防火墙使配置文件生效 systemctl restar ...

  2. 20165231 2017-2018-2 《Java程序设计》第1周学习总结

    本周学习的是一些java简单的基本编译,反编译和解释器.然后学习使用git了上传到git@osc进行代码托管,git是初学的,需要建立库然后远程上传代码,如果建立失败或者因为种种缘故无法上传的可以一个 ...

  3. bootstrap模态框显示时被遮罩层遮住了

    <style>.modal-backdrop{z-index:0;}</style>

  4. 使用WPF动态显示CPU使用率

    基于WPF的开源图表控件有很多,大多数都是静态图表,如果需要绘制CPU使用率这样的动态数据就显得力不从心,微软开源的DynamicDataDisplay控件弥补了这个不足,为了做个备忘,我用它来实时绘 ...

  5. Linux网络底层收发探究【转】

    转自:https://blog.csdn.net/davion_zhang/article/details/51536807 本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  6. PEP 530 -- 异步推导式

    PEP 530 -- 异步推导式 摘要 PEP 492和PEP 525使用async/await语法引入了协程.PEP 530建议添加list,set,dict推导式和生成器推导式的异步版本. 理论和 ...

  7. while(cin>>n1>>n2)

    这里有2个点, 1. while(cin>>n)用到了强制类型转换 2. 强调输入遇到-1则退出,说明要一直看是否输入了-1,并记录下来 #include <iostream> ...

  8. whistle工具全程入门

    接触过前后端开发的同学应该都了解网络请求代理工具fiddler(mac下面常用的是Charles),可以用来拦截分析请求.包装请求.本地调试和移动端代理开发调试等.多多少少,fiddler和Charl ...

  9. java.lang.StackOverflowError 解决方法

    ♦ java.lang.StackOverflowError : 由于深度递归,抛出此错误以指示应用程序的堆栈已耗尽. 在递归中,一个方法在执行期间调用自己.递归被认为是一种强大的通用编程技术,但必须 ...

  10. git与eclipse集成之更新特性分支代码到个人特性分支

    1.1. 更新特性分支代码到个人特性分支 在基于特性分支开发的过程中,存在多人向特性分支提交代码的情况,开发者需要关注特性分支代码与个人分支代码保持同步,否则可能导致提交代码冲突. 具体代码同步步骤: ...