【问题标题】:Size of all indexes on a mysql databasemysql数据库上所有索引的大小
【发布时间】:2013-03-08 15:47:00
【问题描述】:

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

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

我想知道这 5 场演出中有多少与我的索引相关。我可以单击一个表并查看那里的详细信息。从理论上讲,如果我这样做 80 次,每张桌子一次,然后加起来,我就会得到答案。

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

提前致谢。

【问题讨论】:

  • 是的,我在发布这个问题之前阅读了这个问题。我没有看到如何仅查看整个数据库的索引大小(或按表,但显示所有表)....我不是在查找表状态,而是在查找整个数据库状态。我错过了吗?

标签: mysql ssh indexing


【解决方案1】:

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

信息保存在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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2018-11-21
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多