找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 3736|回复: 1

查看数据库数据表大小

[复制链接]

506

主题

18

回帖

5

广播

论坛版主

积分
260
泰拉
22
水晶
1
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2020-9-7 13:44:29 | 显示全部楼层 |阅读模式
本帖最后由 君山 于 2020-9-7 13:46 编辑

1.查看所有数据库容量大小
  1. select
  2. table_schema as '数据库',
  3. sum(table_rows) as '记录数',
  4. sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
  5. sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'
  6. from information_schema.tables
  7. group by table_schema
  8. order by sum(data_length) desc, sum(index_length) desc;
复制代码


2.查看所有数据库各表容量大小

  1. select
  2. table_schema as '数据库',
  3. table_name as '表名',
  4. table_rows as '记录数',
  5. truncate(data_length/1024/1024, 2) as '数据容量(MB)',
  6. truncate(index_length/1024/1024, 2) as '索引容量(MB)'
  7. from information_schema.tables
  8. order by data_length desc, index_length desc;
复制代码


3.查看指定数据库容量大小
例:查看mysql库容量大小

  1. select
  2. table_schema as '数据库',
  3. sum(table_rows) as '记录数',
  4. sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
  5. sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'
  6. from information_schema.tables
  7. where table_schema='mysql';
复制代码


4.查看指定数据库各表容量大小
例:查看mysql库各表容量大小

  1. select
  2. table_schema as '数据库',
  3. table_name as '表名',
  4. table_rows as '记录数',
  5. truncate(data_length/1024/1024, 2) as '数据容量(MB)',
  6. truncate(index_length/1024/1024, 2) as '索引容量(MB)'
  7. from information_schema.tables
  8. where table_schema='mysql'
  9. order by data_length desc, index_length desc;
复制代码



[发帖际遇]: 君山 被钱袋砸中进医院,看病花了 12 泰拉. 幸运榜 / 衰神榜

506

主题

18

回帖

5

广播

论坛版主

积分
260
泰拉
22
水晶
1
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【宝剑回鞘】【泰拉达人】【奥运选手】

 楼主| 发表于 2020-9-7 13:46:44 | 显示全部楼层
1.查看数据库的大小


use 数据库名
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH)
FROM information_schema.TABLES where TABLE_SCHEMA='数据库名';
得到的结果是以字节为单位,除1024为K,除1048576为M。

2.查看表的最后mysql修改时间

select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='数据库名';
可以通过查看数据库中表的mysql修改时间,来确定mysql数据库是否已经长期不再使用。

3.查看数据库中各个表占用的空间大小



如果想知道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='表名'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-12-22 00:24 , Processed in 0.106645 second(s), 41 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表