https://www.cnblogs.com/lukcyjane/p/3849354.html
说明:

通过MySQL的 information_schema 数据库,可查询数据库中每个表占用的空间、表记录的行数;该库中有一个 TABLES 表,这个表主要字段分别是:

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

其他字段请参考MySQL的手册,查看一个表占用空间的大小,那就相当于是 数据大小 + 索引大小 。

 
查看所有库的大小
mysql> use information_schema;
Database changed
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;
+----------+
| data |
+----------+
| 104.21MB |
+----------+
1 row in set (0.11 sec)

查看指定库的大小

mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data  from TABLES where table_schema='jishi';
+---------+
| data |
+---------+
| 26.17MB |
+---------+
1 row in set (0.01 sec)
查看指定库的指定表的大小
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data  from TABLES where table_schema='jishi' and table_name='a_ya';
+--------+
| data |
+--------+
| 0.02MB |
+--------+
1 row in set (0.00 sec)

查看指定库的索引大小

mysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES  WHERE table_schema = 'jishi';
+------------------+
| Total Index Size |
+------------------+
| 0.94 MB |
+------------------+
1 row in set (0.01 sec)

查看指定库的指定表的索引大小

mysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES  WHERE table_schema = 'test' and table_name='a_yuser';
+------------------+
| Total Index Size |
+------------------+
| 21.84 MB |
+------------------+
1 row in set (0.00 sec)
mysql> show create table test.a_yuser\G;
*************************** 1. row ***************************
Table: a_yuser
Create Table: CREATE TABLE `a_yuser` (
`email` varchar(60) NOT NULL DEFAULT '',
`user_name` varchar(60) NOT NULL DEFAULT '',
KEY `cc` (`email`(5)),
KEY `ccb` (`user_name`(5)),
KEY `ccbc` (`email`(5),`user_name`(5))
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec) ERROR:
No query specified mysql> select count(*) from test.a_yuser;
+----------+
| count(*) |
+----------+
| 1073607 |
+----------+
1 row in set (0.00 sec)
查看一个库中的情况
mysql>  SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name', CONCAT(ROUND(table_rows/1000000,4),'M') AS 'Number of Rows', CONCAT(ROUND(data_length/(1024*1024*1024),4),'G') AS 'Data Size', CONCAT(ROUND(index_length/(1024*1024*1024),4),'G') AS 'Index Size', CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),4),'G') AS'Total'FROM information_schema.TABLES WHERE table_schema LIKE 'test';
+---------------+----------------+-----------+------------+---------+
| Table Name | Number of Rows | Data Size | Index Size | Total |
+---------------+----------------+-----------+------------+---------+
| test.a_br | 0.4625M | 0.0259G | 0.0171G | 0.0431G |
| test.a_skuclr | 0.7099M | 0.0660G | 0.0259G | 0.0919G |
| test.a_yuser | 1.0736M | 0.0497G | 0.0213G | 0.0710G |
| test.test | 0.0000M | 0.0000G | 0.0000G | 0.0000G |
+---------------+----------------+-----------+------------+---------+
4 rows in set (0.13 sec)

参考网址:
http://www.oschina.net/question/12_3673
http://blog.sina.com.cn/s/blog_4c197d420101fbl9.html
好记性不如烂笔头,把遇到的问题及其解决方法记录下来。

【转帖】查看mysql库大小,表大小,索引大小的更多相关文章

  1. mysql库、表、索引

    创建和删除数据库,同一个数据库下的不同表可以采用不同的引擎 mysql> create database oldboy default character set utf8 collate ut ...

  2. 查看mysql库大小,表大小,索引大小

    查看所有库的大小 mysql> use information_schema; Database changed mysql> selectconcat(round(sum(DATA_LE ...

  3. [转]【mysql监控】查看mysql库大小,表大小,索引大小

    本文转自:http://blog.sina.com.cn/s/blog_4c197d420101fbl9.html 查看所有库的大小 mysql> use information_schema; ...

  4. 查看mysql库中所有表的大小和记录数

    查看mysql库中所有表的大小和记录数 ,), 'MB') as total_size FROM information_schema.TABLES WHERE TABLE_SCHEMA='datab ...

  5. 随笔编号-16 MySQL查看表及索引大小方法

    目标:阿里云OS数据库DMS,单个主库最大存储空间为2T.最近公司业务扩展很快,一天数据量达到7.9G左右.要求备份清理历史数据,备份到其他磁盘. 准备: 如果想知道MySQL数据库中每个表占用的空间 ...

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

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

  7. MySQL 库、表、记录、相关操作(3)

    MySQL 库.表.记录.相关操作(3) 单表查询 """ 增: insert [into] [数据库名.]表名[(字段1[, ..., 字段n])] values (数 ...

  8. 将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下)_2

    将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下, 此pubs下的表名是employee,不冲突),方法大致以下几个(另有其他方法待补充), ...

  9. MySQL库和表的操作

    MySQL库和表的操作 库操作 创建库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯 ...

  10. mysql查看库、表占用存储空间大小

    http://blog.csdn.net/bzfys/article/details/55252962 1. 查看该数据库实例下所有库大小,得到的结果是以MB为单位 <span class=&q ...

随机推荐

  1. LeetCode 回溯篇(46、77、78、51)

    46. 全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1, ...

  2. php +libcurl+nghttp2 实现高性能微服务架构

    1.server端nginx编译时增加参数configure --with-http_v2_module     server {        listen       80 http2;      ...

  3. 当创建statefulset资源后,k8s组件如何协作

    本文分享自华为云社区<当创建StatefulSet后,k8s会发生什么?>,作者:可以交个朋友 . 一.StatefulSet介绍 StatefulSet 是用来管理有状态应用的工作负载对 ...

  4. 细说SQL与ETL之间的小秘密

    本文分享自华为云社区<GaussDB数据库SQL系列-SQL与ETL浅谈>,作者:Gauss松鼠会小助手2. 一.前言 在SQL语言中,ETL(抽取.转换和加载)是一种用于将数据从源系统抽 ...

  5. SARIF在应用过程中对深层次需求的实现

    摘要:为了降低各种分析工具的结果汇总到通用工作流程中的成本和复杂性, 业界开始采用静态分析结果交换格式(Static Analysis Results Interchange Format (SARI ...

  6. 事件Event:带你体验鸿蒙轻内核中一对多、多对多任务同步

    摘要:本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十二 事件Event>,原文作者:zhushy . 事件(Event)是一 ...

  7. GaussDB(for Redis)新特性发布:前缀搜索千倍提升与集群版多租隔离

    摘要:GaussDB(for Redis)推出的全新特性,实现集群版多租隔离功能和增强版前缀搜索,前缀搜索时延较开源Redis降低千倍,为助力企业业务发展带来了更多可能. 近期,华为云GaussDB( ...

  8. 揭露ROI提升5倍的秘密!火山引擎A/B测试白皮书重磅发布(内附下载链接)

    - 文末立即下载白皮书原文 -  近期,<火山引擎A/B测试总体经济影响白皮书>正式发布.这份白皮书由市场研究公司Forrester调研撰写,揭示了A/B测试对于企业营收增长.运营成本.生 ...

  9. python虚拟环境venv

    Python3虚拟环境是为了在开发过程中隔离项目所需的 Python 环境.虚拟环境允许我们在同一台计算机上的不同项目中使用不同的 Python 版本和软件包,而不会相互干扰 首先创建一个虚拟环境的工 ...

  10. Function--jdk8用法

    Lambda表达式.首先是参数部分,接着是->,可以视为产出,->之后的内容都是方法体. 当只有一个参数时,可以不需要括号(): 正常情况使用()包裹参数,为了保持一致性,也可以使用括号( ...