惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
美团技术团队
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
博客园_首页
雷峰网
雷峰网
V
V2EX
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
量子位
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Jina AI
Jina AI
月光博客
月光博客
L
LangChain Blog

博客园 - Likwo

开源 | ChatClaw Go语言开发的openclaw龙虾智能体 go gin 入门教程,蛮不错的 chatwiki的邀请码 客服系统里芝麻小客服如何接让用户发送商品卡片的demo 开源一个RAG大模型本地知识库问答机器人-ChatWiki 微信视频号小店如何绑定开放平台获取unionID? 销大师停止运营了 微信公众号自定义菜单的一些思考-我为什么做公众号自定义菜单 go语言标准库 跳转网址 mysql 内存使用优化 H5客服系统的搭建和探讨 Nginx日志分析工具 git 显示本地和远程分支的差别 微信客服接口文档 七牛云违规删除问题 好用的团队协助软件推荐 nginx 文档 nginx启动时出现Unit nginx.service is masked.
MySQL查看表占用空间大小
Likwo · 2021-07-11 · via 博客园 - Likwo

转自 https://www.cnblogs.com/shoshana-kong/p/11136919.html

前言:在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表。

代码:

1,切换数据库

use information_schema;

2,查看数据库使用大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ ;

3,查看表使用大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ and table_name=’Table_Name’;

 -----------------------------------------------------------------------------------

网上找的一个,亲测可用:

//先进去MySQL自带管理库:information_schema  
//然后查询 data_length,index_length
//你自己的数据库名:dbname   
//你自己的表名:tablename  
  
mysql> use information_schema;  
Database changed  
mysql> select data_length,index_length  
    -> from tables where  
    -> table_schema='dbname'  
    -> and table_name = 'tablename';  
+

 -----------------------------------------------------------------------------------

1.查看所有数据库容量大小

1

2

3

4

5

6

7

8

select

table_schema as '数据库',

sum(table_rows) as '记录数',

sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',

sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'

from information_schema.tables

group by table_schema

order by sum(data_length) desc, sum(index_length) desc;

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

1

2

3

4

5

6

7

8

select

table_schema as '数据库',

table_name as '表名',

table_rows as '记录数',

truncate(data_length/1024/1024, 2) as '数据容量(MB)',

truncate(index_length/1024/1024, 2) as '索引容量(MB)'

from information_schema.tables

order by data_length desc, index_length desc;

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

例:查看mysql库容量大小

1

2

3

4

5

6

7

select

table_schema as '数据库',

sum(table_rows) as '记录数',

sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',

sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'

from information_schema.tables

where table_schema='mysql';

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

例:查看mysql库各表容量大小

1

2

3

4

5

6

7

8

9

select

table_schema as '数据库',

table_name as '表名',

table_rows as '记录数',

truncate(data_length/1024/1024, 2) as '数据容量(MB)',

truncate(index_length/1024/1024, 2) as '索引容量(MB)'

from information_schema.tables

where table_schema='mysql'

order by data_length desc, index_length desc;

  -----------------------------------------------------------------------------------


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='passport' and table_name='tb_user_info';
-- 569.98MB 141.98MB

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='passport_v2' and table_name='tb_user_info';

--   2128.94MB   285.00MB