mysql - mysql 数据库中所有索引的大小

标签 mysql ssh indexing

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

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

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

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

提前致谢。

最佳答案

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

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

关于mysql - mysql 数据库中所有索引的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15508473/

相关文章:

javascript - 为什么在 for 循环中使用 pop() 不起作用 (javascript)

Mysql select - 全部来自左侧且仅匹配右侧表

php - 提示的 MySQL 查询

php pdo 数据库连接类

sql-server - 数据库索引 : Only selects!

python - Pandas:删除带有某些日期的字符串

php - Laravel groudby 使用day()

unix - 如何在 RHEL 5 中修改非交互式 SSH 调用的路径?

github - 无法使用空密码将 SSH key 添加到 ssh-agent (Bitrise CLI)

git - SSH 不使用公钥进行身份验证 (Windows)