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

TABLE_SCHEMA : 数据库名

TABLE_NAME:表名

ENGINE:所使用的存储引擎

TABLES_ROWS:记录数

DATA_LENGTH:数据大小

INDEX_LENGTH:索引大小

其他字段请参考MySQL的手册,我们只需要了解这几个就足够了。

所以要知道一个表占用空间的大小,那就相当于是 数据大小 + 索引大小 即可。

SQL:

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名'

完整SQL语句:

1、进去指定schema 数据库(存放了其他的数据库的信息)

1 mysql>
use information_schema;
2 Database changed

2、查询所有数据的大小


mysql> select concat(round(sum(DATA_LENGTH/1024/1024), 2), 'MB')
-> as data from TABLES;
+-----------+
| data |
+-----------+
| 6674.48MB |
+-----------+
1 row in set (16.81 sec)





3、查看指定数据库实例的大小,比如说数据库 forexpert

view
source

print?

mysql> select concat(round(sum(DATA_LENGTH/1024/1024), 2), 'MB')
-> as data from TABLES where table_schema='forexpert';
+-----------+
| data |
+-----------+
| 6542.30MB |
+-----------+
1 row in set (7.47 sec)
mysql> select concat(round(sum(DATA_LENGTH/1024/1024), 2), 'MB')
-> as data from TABLES where table_schema='forexpert';
+-----------+
| data |
+-----------+
| 6542.30MB |
+-----------+
1 row in set (7.47 sec)

4、查看指定数据库的表的大小,比如说数据库 forexpert 中的 member 表

mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data
-> from TABLES where table_schema='forexpert'
-> and table_name='member';
+--------+
| data |
+--------+
| 2.52MB |
+--------+
1 row in set (1.88 sec)

转自:http://www.oschina.net/question/12_3673

mysql管理 ------查看 MySQL 数据库中每个表占用的空间大小的更多相关文章

  1. 查看 MySQL 数据库中每个表占用的空间大小

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

  2. MySQL查看数据库中所有表占用的空间大小

    select TABLE_NAME, concat(truncate(data_length/1024/1024,2),'MB') as data_size, concat(truncate(inde ...

  3. 查询DB中每个表占用的空间大小

    使用如下sql script可以获得每个数据库表所占用的空间大小,单位是KB create table #Data(name varchar(100),row varchar(100),reserve ...

  4. 如何查看MySQL中每张表占用的空间大小

    如题,找到MySQL中的information_schema表,这张表记录了所有数据库中表的信息,主要字段含义如下: TABLE_SCHEMA : 数据库名 TABLE_NAME:表名 ENGINE: ...

  5. 查看MYSQL中数据表占用的空间

    由于数据太大了.所以MYSQL需要瘦身,那前提就是需要知道每个表占用的空间大小. 首先打开指定的数据库: use information_schema; 如果想看指定数据库中的数据表,可以用如下语句: ...

  6. 如何查看SQLServer数据库每个表占用的空间大小?

    如何查看SQLServer数据库每个表占用的空间大小? 创建存储过程: CREATE PROCEDURE [dbo].[sys_viewTableSpace]AS BEGIN SET NOCOUNT ...

  7. mysql和postgresql查询数据库中哪些表包含某个字段

    想知道数据库中哪表含有edu_status字段   mysql> select table_name,column_name from information_schema.columns wh ...

  8. 查看MSSQL数据库每个表占用的空间大小

    需要查看数据库表的大小,查询SQL Server联机从书得到如下语句: sp_spaceused 显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. ...

  9. 查看Sql Server所有表占用的空间大小

    2010-01-26 sp_spaceused可以查看某个表占用的空间,但不能一次查看所有的表.今天研究了一下这个sp,写了下面这个查询: --刷新系统数据dbcc updateusage(0) wi ...

随机推荐

  1. 自定义switch开关

    自定义一个switch开关 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  2. Android OpenGL ES(十四)gl10方法解析

    Android 支持 OpenGL 列表 1.GL 2.GL 10 3.GL 10 EXT 4.GL 11 5.GL 11 EXT 6.GL 11 ExtensionPack 我们将使用 GL10 这 ...

  3. Spring Boot 系列教程10-freemarker导出word下载

    freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个 ...

  4. sqlserver2008行锁

    select * from tablename WITH (UPDLOCK) where Id=#value#

  5. Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据

    Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据 2014-06-11 10:45:14   阅读375次 我们在JNI中处理得到的BMP图片Raw数据,我们应该如何 ...

  6. VideoView的视频的全屏播放

    import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.I ...

  7. [转]Android 导入v7包常见错误,以及项目引用v7包错误解决

    android下v4    v7   v21等包是android系统的扩展支持包,就想windows的系统补丁一个道理. android的扩展包主要是用来兼容低版本的,比如android3.0以后出现 ...

  8. 关于MyEclipse6.5 总是弹出 Update Progress(xx-xx-xx时间)的问题

    退出myeclispe 删除D:\Program Files\MyEclipse 6.0\eclipse\configuration\org.eclipse.update目录下的 last.confi ...

  9. 服务器遭受 ssh 攻击

    查看auth.log日志,差点吓一跳,好多攻击记录. vim  /var/log/auth.log 才两天的功夫,900多万条记录, 一些解决应对的办法: 43down voteaccepted It ...

  10. ural1424 Minibus

    Minibus Time limit: 1.0 secondMemory limit: 64 MB Background Minibus driver Sergey A. Greedson has b ...