怎么通过SQL语句查看MySQL数据库的表空间状态

2025-10-30 06:49:08

1、 查看数据库的索引空间大小

在MySQL Workbench中运行以下SQL语句:

-- 以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';

-- 以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是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

怎么通过SQL语句查看MySQL数据库的表空间状态

2、查看数据库的数据空间大小

在MySQL Workbench中运行以下SQL语句:

-- 以GB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 6), ' GB') AS 'Total Data Size'

FROM

information_schema.TABLES

WHERE

table_schema LIKE 'database';

-- 以MB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024), 6), ' MB') AS 'Total Data Size'

FROM

information_schema.TABLES

WHERE

table_schema LIKE 'database';

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

怎么通过SQL语句查看MySQL数据库的表空间状态

3、查看数据库中所有表的信息

在MySQL Workbench中运行以下SQL语句,查看数据库中所有表的表名、表行数、数据空间大小、索引空间大小和总大小:

SELECT

CONCAT(table_schema,'.',table_name) AS 'Table Name',

table_rows AS 'Number of Rows',

CONCAT(ROUND(data_length/(1024*1024),6),' MB') AS 'Data Size',

CONCAT(ROUND(index_length/(1024*1024),6),' MB') AS 'Index Size',

CONCAT(ROUND((data_length+index_length)/(1024*1024),6),' MB') AS'Total Size'

FROM

information_schema.TABLES

WHERE

table_schema LIKE 'database';

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

怎么通过SQL语句查看MySQL数据库的表空间状态

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢