zoukankan      html  css  js  c++  java
  • MySQL中查询表及索引大小的方法

    查询MySQL表的大小及索引大小可以通过系统库information_schema中的TABLES表来实现。
    
    该表常用的一些字段:
    
    TABLE_SCHEMA:数据库名
    TABLE_NAME:表名
    ENGINE:所使用的存储引擎
    TABLES_ROWS:记录行数
    DATA_LENGTH:表大小
    INDEX_LENGTH:索引大小
    
     
    
    1、可以查询数据库的数据行数、表空间、索引空间,如下,将[数据库名]替换成你自己的数据库名即可。
    
    SELECT TABLE_SCHEMA AS '库名',
    CONCAT(ROUND(TABLE_ROWS/10000, 2), ' 万行') AS '行数',
    CONCAT(ROUND(SUM(DATA_LENGTH)/(1024*1024*1024), 2), ' GB') AS '表空间',
    CONCAT(ROUND(SUM(INDEX_LENGTH)/(1024*1024*1024), 2), ' GB') AS '索引空间',
    CONCAT(ROUND(SUM(DATA_LENGTH+INDEX_LENGTH)/(1024*1024*1024),2),' GB') AS'总空间'
    FROM information_schema.TABLES WHERE TABLE_SCHEMA = [数据库名];
    
     
    
    2、当然也可以不汇总,查询下各个表的情况进行分析,如下,将[数据库名]替换成你自己的数据库名即可。
    
    SELECT TABLE_NAME AS '表名',
    CONCAT(ROUND(TABLE_ROWS/10000, 2), ' 万行') AS '行数',
    CONCAT(ROUND(DATA_LENGTH/(1024*1024*1024), 2), ' GB') AS '表空间',
    CONCAT(ROUND(INDEX_LENGTH/(1024*1024*1024), 2), ' GB') AS '索引空间',
    CONCAT(ROUND((DATA_LENGTH+INDEX_LENGTH)/(1024*1024*1024),2),' GB') AS'总空间'
    FROM information_schema.TABLES WHERE TABLE_SCHEMA = [数据库名] ORDER BY TABLE_ROWS DESC;

    https://www.cnblogs.com/pcheng/p/7730279.html

    踩过这个坑,还有下一个坑等着你,这一路就是给自己填坑,坑填多了,也就习惯了,直到这一路平坦了,也就无怨无悔了。
  • 相关阅读:
    OLT配置学习
    notepad配合正则表达式处理文本
    利用expect和sshpass完美非交互性执行远端命令
    yum 数据库报错与重构
    杀死dialog
    OLT配置说明
    freeradius下发限速信息字段
    debug调试日志和数据查询
    通过windows的超级终端连接华为交换机
    强制清除交换机端口所有配置
  • 原文地址:https://www.cnblogs.com/xiaofeilin/p/13965008.html
Copyright © 2011-2022 走看看