【MySQL】查询单表数据大小与索引大小的SQL语句

今天需要做个SQL优化,原来的SQL每次查询都要将近1分钟。

我看了一下数据量,我滴乖乖。

SELECT CONCAT( ROUND( (INDEX_LENGTH + DATA_LENGTH) / 1024 / 1024, 2 ), 'MB') AS 'total_size',
CONCAT(ROUND(DATA_LENGTH / 1024 / 1024, 2),'MB') AS 'data_size',
CONCAT(ROUND(INDEX_LENGTH / 1024 / 1024, 2),'MB') AS 'index_size'
FROM INFORMATION_SCHEMA. TABLES
WHERE TABLE_NAME = 'BU_Machine_Program_History'

查询结果:
在这里插入图片描述
2个G的数量。一问,才知道这只是一个月的数据量。

一年要好几亿的数据。

再问,原来是要统计报表。

再看,索引都没有(建个索引要15分钟。)

Java表示头很大。

posted @ 2021-12-05 09:36  layman~  阅读(106)  评论(0编辑  收藏  举报