pcheng

  查询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;

 

分类:

技术点:

相关文章:

  • 2022-01-22
  • 2022-12-23
  • 2021-05-21
  • 2022-02-04
  • 2021-05-20
  • 2021-05-18
  • 2022-12-23
猜你喜欢
  • 2021-06-19
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2021-11-13
相关资源
相似解决方案