• MySql学习16----查看mysql库大小、表大小、索引大小


    转自: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_yuserG;
    *************************** 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)
    复制代码
  • 相关阅读:
    持续集成-禅道
    nohup.out 日志切分
    Flannel 介绍及使用场景
    【Unity游戏开发】初探Unity动画优化
    fastHttp服务端处理请求的过程
    PHPExcel导出文件代码实现
    PHPExcel 1.8
    CKfinder 安装与使用
    Ckeditor的配置
    Ckeditor的使用
  • 原文地址:https://www.cnblogs.com/Hermioner/p/10395462.html
Copyright © 2020-2023  润新知