mysql数据库上所有索引的大小

时间:2013-03-19 19:15:49

标签: mysql ssh indexing

我的服务器上有6个数据库。

在phpmyadmin中,我可以查看构成数据库的表列表,并查看记录数,表名,表类型等内容。它还显示了大小和总大小。一个数据库的总大小是5个演出和80个不同的表。

我想知道这5场演出中有多少与我的索引有关。我可以点击一张桌子查看那里的细节。从理论上讲,如果我这样做80次,每次一次,然后加上它,我会得到答案。

有没有办法(在phpmyadmin或SSH中)获得单个mysql表的组合索引有多少空间的答案?如果我能够按表格查看列表并总结一下,那就更好了。

提前致谢。

1 个答案:

答案 0 :(得分:4)

这是一个很好的问题,是的,可以在数据库级别上查看。

信息保存在INFORMATION_SCHEMA

SELECT table_name,
concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'data_length_mb',
concat( round( index_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'index_length_mb',
concat( round( round( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , 'Mb' )  AS 'total_size_mb'
FROM information_schema.tables
WHERE table_schema ='your_db_name'
ORDER BY data_length desc;