MySQL查看数据库、表的占用空间大小

•查看各库的大小

 代码如下 复制代码

SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHEMA='database_name';

结果是以字节为单位,除1024为K,除1048576为M。

•查看各表的大小

 代码如下 复制代码

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME='table_name';

•查看表的最后修改时间

 代码如下 复制代码

sELECT TABLE_NAME,UPDATE_TIME FROM information_schema.tables where TABLE_SCHEMA='database_name';
LOG

information_schema 库的 TABLES 表,主要字段分别是:

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

自己应用的一个实例

 代码如下 复制代码

//先进去MySQL自带管理库:information_schema
//自己的数据库:dbwww58com_kuchecarlib
//自己的表:t_carmodelparamvalue

mysql> use information_schema;
Database changed
mysql> select data_length,index_length
    -> from tables where
    -> table_schema='dbwww58com_kuchecarlib'
    -> and table_name = 't_carmodelparamvalue';
+-------------+--------------+
| data_length | index_length |
+-------------+--------------+
|   166379520 |    235782144 |
+-------------+--------------+
1 row in set (0.02 sec)

mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB,
    -> concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB
    -> from tables where
    -> table_schema='dbwww58com_kuchecarlib'
    -> and table_name = 't_carmodelparamvalue';
+----------------+-----------------+
| data_length_MB | index_length_MB |
+----------------+-----------------+
| 158.67MB       | 224.86MB        |
+----------------+-----------------+
1 row in set (0.03 sec)

时间: 2024-09-27 12:14:17

MySQL查看数据库、表的占用空间大小的相关文章

mysql查看数据库表的数量命令

  有时候导入SQL文件后,表很多.想看看表的个数时候和服务器上表的个数是否相同.在mysql中可以用如下命令查看表的个数: ? 1 SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='dbname';

SQL Server 2005 查看数据库表的大小 按照表大小排列

(1)Question:尼玛一个数据库,动辄几十个G,伤不起啊,怎样才能知道当前数据库里面各个表的大小呢?以便将部分较大的数据库表中不容易被频繁访问的数据归档到历史表中,例如每天将一个自然年以前的数据放入历史表中.(2)Key:网上搜了一圈,关键字sp_spaceused (参见:http://msdn.microsoft.com/zh-cn/library/ms188776.aspx)(3)Sample:同时找到了一个示例(参见:http://www.linuxso.com/linuxxito

毕业设计-phpmyadmin怎样查看数据库表中的关系

问题描述 phpmyadmin怎样查看数据库表中的关系 在做php博客系统的毕业设计,用的mysql数据库,导师要求建立表间的关系,怎么弄啊,大神求助!!! 解决方案 phpmyadmin还没有那个功能, 你得自己设计. 解决方案二: 怎么设计啊老乡,单独画表吗?你看看他这个是怎么搞定的 解决方案三: phpmyadmin 还有这功能?学习了

快速插表-MYSQL 如果提升 MYSQL 插入数据库表的速度

问题描述 MYSQL 如果提升 MYSQL 插入数据库表的速度 我在插入 MYSQL 数据库表时 800 多个表 插入时间大 45 秒钟 速度太慢了. 解决方案 你的意思是如何插入数据, 还是创建表?感觉意思不是很清楚 解决方案二: 不明白你要创建那么多表做什么如果你需要创建那么多表, 而且表的结构都是统一的, 不妨每天晚上创建好一万个备用表(有就不用, 不够了才加).在需要创建表时,把备用表改一下名就得.

linux中MYSQL备份数据库表(多个表)

MYSQL备份数据库表 独立备份某个数据库的某个表操作: mysql> use mysql mysql> show tables; +---------------------------+ | Tables_in_mysql           | +---------------------------+ | columns_priv              | | db                        | | event                     | | f

mysql 查询 数据库.表名 失败

问题描述 mysql 查询 数据库.表名 失败 不知道有没有人遇到过,在navicat for mysql里面,查询本数据库的时候时用 from 数据库名.表名 出现错误 数据名,表名都没有写错 解决方案 select写错了 解决方案二: 多了个 c 那么明显 解决方案三: 在你的表名前后加上点(数字键1左边的那个符号) 解决方案四: http://solodu.iteye.com/blog/520419 解决方案五: select * from [数据库名].dbo.表名 解决方案六: sel

MySQL查看数据库大小sql命令

1.进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2.查询所有数据的大小: select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables; 3.查看指定数据库的大小: 比如查看数据库home的大小 select concat(round(sum(data_length/1024/1024),2),'MB') as data fr

MySQL查看数据库相关信息

使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令   1:查看显示所有数据库 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | INVOICE            | | mysql              | | performance

快速掌握查看数据库表死锁的实用方法

问:如何查看数据库的表死锁? 答:具体方法如下: 1,打开监控窗口 db2 update monitor switches using lock on 2.运行程序一段时间后 db2 get snapshot for locks on 数据库名称 至此,即可查看到当前所有连接到该数据库的应用程序句柄和每一个连接下锁定的情况.