首页 > 数据库 >MySQL如何查看数据库、表占用磁盘大小

MySQL如何查看数据库、表占用磁盘大小

时间:2023-03-06 15:33:20浏览次数:60  
标签:1024 容量 数据库 MySQL length GB table 磁盘 schema

一、查询指定数据库(例“test”)占用磁盘空间大小

SELECT
    TABLE_SCHEMA AS "数据库",
    sum( table_rows ) AS "记录数",
    concat( TRUNCATE ( sum( data_length ) / 1024 / 1024, 2 ), ' MB' ) / 1024 AS "数据容量(GB)",
    concat( TRUNCATE ( sum( index_length ) / 1024 / 1024, 2 ), 'MB' ) / 1024 AS "索引容量(GB)" 
FROM
    information_schema.TABLES 
WHERE
    table_schema = 'test';

结果:

 

 

 二、查询指定数据库(例“test”)每张表、索引占用磁盘空间大小

SELECT
    table_schema AS "数据库",
    table_name AS "表名",
    table_rows AS "记录数",
    TRUNCATE ( data_length / 1024 / 1024, 2 ) / 1024 AS "数据容量(GB)",
    TRUNCATE ( index_length / 1024 / 1024, 2 ) / 1024 AS "索引容量(GB)" 
FROM
    information_schema.TABLES 
WHERE
    table_schema = 'test' 
ORDER BY
    data_length DESC,
    index_length DESC;

结果:

 

 

  三、查询指定数据库(例“test”)每张表、索引占用磁盘空间大小及汇总,一个sql搞定

SELECT COALESCE
    ( bb.表名, '汇总' ) AS "表名",
    bb.记录数,
    bb.数据容量(GB),
    bb.索引容量(GB) 
FROM
    (
SELECT
    aa.表名,
    sum( AA.记录数 ) AS "记录数",
    sum( AA.数据容量(GB) ) AS "数据容量(GB)",
    sum( AA.索引容量(GB) ) AS "索引容量(GB)" 
FROM
    (
SELECT
    table_schema "数据库",
    table_name AS "表名",
    table_rows AS "记录数",
    TRUNCATE ( data_length / 1024 / 1024, 2 ) / 1024 AS "数据容量(GB)",
    TRUNCATE ( index_length / 1024 / 1024, 2 ) / 1024 AS "索引容量(GB)" 
FROM
    information_schema.TABLES 
WHERE
    table_schema = 'doublepressure' 
ORDER BY
    data_length DESC,
    index_length DESC 
    ) AA 
GROUP BY
    aa.表名 WITH ROLLUP 
    ) bb 
ORDER BY
    bb.数据容量(GB) DESC,
    bb.索引容量(GB) DESC;

结果:

 

 

 

借鉴博客:https://blog.csdn.net/xutong_123/article/details/127842221

 

标签:1024,容量,数据库,MySQL,length,GB,table,磁盘,schema
From: https://www.cnblogs.com/chenze-Index/p/17184093.html

相关文章

  • LightDB数据库分布式部署实践
    当今做大型数据库应用的时候,随着业务越做越大,数据量也会越来越大,计算也会越来越复杂。对性能,可靠性,可扩展性的需求越来越强烈,集中式数据库显然已经满足不了需求。......
  • ABP使用SQLite本地数据库
    1、修改EFCore中的依赖,添加Sqlite的依赖,移除原先的sqlserver的依赖  2、修改配置中的使用  3、修改Web.Host中的配置文件中appsettings.json中数据库的地址 ......
  • 为ABP框架配置数据库
    目录创建标准的EFCore数据库上下文连接字符串定义隔离的上下文多数据库支持和配置Freesql配置服务在 AbpBase.Database 中,通过Nuget添加以下几个库:版本......
  • Mysql新增字段属性
    往已经建好数据的表中插入一个字段①简约新增属性--基本格式ALTERTABLE<表名>ADD<新字段名><数据类型>[约束条件];--示例,普通在表的最后面加上一个字段Alterta......
  • Mysql设置之前不空的字段可为空【NOT NULL --> NULL】
    使用场景:        在某些情况下,数据库设计字段时,某一字段设置为必填字段,根据实际情况变化,要将其改为非必填,使用sql语句实现。解决方案: ①MySQL使用sql语句[非......
  • 安装数据库CentOS 7.6+MySQL5.6
    1.安装编译源码所需的工具和库root@iZbp16tff364has58lxi61Z~]#yum-yinstallgccgcc-c++ncurses-develperlroot@iZbp16tff364has58lxi61Z~]#yum-ygroupinstal......
  • MySQL事务的隔离级别
    1.读未提交读取到别人未提交的数据,即脏读2.读已提交读取别人已经提交的数据,但是不同时间点读取到的数据可能并不一致,别人可能多次提交了不同的数据,这种即不可重复读3.......
  • clickhouse高级功能之MaterializeMySQL详解
    clickhouse20.8将新增MaterializeMySQL引擎,可通过binlog日志实时物化mysql数据,极大提升了数仓的查询性能和数据同步的时效性;原有mysql中承担的数据分析工作可交由click......
  • 使用navicat将oracle的sql脚本转换为mysql的sql脚本
    1.工具:navicat16(其他版本未测试,但过程应该差不多)2.准备两个数据库,oracle数据库和mysql数据库,(mysql数据库是空数据库,用于保存oracle中的数据)3.点击工具->数据传输  ......
  • 查看MySql是否安装成功
    1)安装了WindowsService:MySQL80,并且已经启动。    2)安装了MySQL软件。安装位置为:C:\ProgramFiles\MySQL (默认路径)  (MySQL文件下放的是软件的内容)3)安......