查看: 52|回复: 0

mysql查看索引、表空间、所有表信息的sql语句

[复制链接]

26

主题

1

回帖

110

积分

实习版主

积分
110
发表于 2026-5-11 10:17:57 | 显示全部楼层 |阅读模式
${database} 为数据库的名称

/*1.查看索引
1)单位是GB*/
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 6), ' GB') AS 'Total Index Size'
FROM information_schema.TABLES WHERE table_schema LIKE '${database}';
/*
+------------------+
| Total Index Size |
+------------------+
| 1.70 GB |
+------------------+
*/
/*
2)单位是MB
*/
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 6), ' MB') AS 'Total Index Size'
FROM information_schema.TABLES WHERE table_schema LIKE '${database}';
/*
   其中“database”为你所要查看的数据库
*/
/*
2.查看表空间
*/
SELECT CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 6), ' GB') AS 'Total Data Size'
FROM information_schema.TABLES WHERE table_schema LIKE '${database}';
/*
+-----------------+
| Total Data Size |
+-----------------+
| 3.01 GB |
+-----------------+
*/
/*
3.查看数据库中所有表的信息
*/
SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name',
    table_rows AS 'Number of Rows',
    CONCAT(ROUND(data_length/(1024*1024*1024),6),' G') AS 'Data Size',
    CONCAT(ROUND(index_length/(1024*1024*1024),6),' G') AS 'Index Size' ,
    CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),6),' G') AS'Total'
FROM information_schema.TABLES
WHERE table_schema LIKE '${database}';

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2025 Discuz! Team.|蜀ICP备2025161238号-5

在本版发帖
关注公众号
QQ客服返回顶部
快速回复 返回顶部 返回列表