怎样获得MySQL数据库的真实大小?怎样获得MySQL数据库的真实大小?(How to Get Tr

2019-05-12 16:19发布

我想知道有多少空间做我的MySQL数据库的使用,以便选择一个虚拟主机。 我发现命令SHOW TABLE STATUS LIKE 'table_name' ,所以当我做了查询,我得到的是这样的:

Name       | Rows | Avg. Row Length | Data_Length | Index Length
----------   ----   ---------------   -----------   ------------
table_name   400          55            362000        66560
  • 数字四舍五入。

所以,我有362000或400 * 362000 = 144800000字节此表的数据? 又是什么索引长度是什么意思? 谢谢 !

Answer 1:

从S.普拉卡什,发现在MySQL的论坛 :

SELECT table_schema "database name",
    sum( data_length + index_length ) / 1024 / 1024 "database size in MB",
    sum( data_free )/ 1024 / 1024 "free space in MB"
FROM information_schema.TABLES
GROUP BY table_schema; 

或在更容易的复制粘贴一行:

SELECT table_schema "database name", sum( data_length + index_length ) / 1024 / 1024 "database size in MB", sum( data_free )/ 1024 / 1024 "free space in MB" FROM information_schema.TABLES GROUP BY table_schema; 


Answer 2:

您可以通过在MySQL客户端运行以下命令得到你的MySQL数据库的大小

SELECT  sum(round(((data_length + index_length) / 1024 / 1024 / 1024), 2))  as "Size in GB"
FROM information_schema.TABLES
WHERE table_schema = "<database_name>"


Answer 3:

如果你使用phpMyAdmin,它可以告诉你这些信息。

只要进入“数据库”(顶部菜单),并单击“启用统计”。

你会看到这样的事情:

这可能会失去一些精度大小上去,但它应该是足够准确的为您的目的。



Answer 4:

如果你想找到它在MB做到这一点

SELECT table_schema                                        "DB Name", 
   Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" 
FROM   information_schema.tables 
GROUP  BY table_schema; 


Answer 5:

基本上有两种方法:查询DB(数据长度+索引长度)或检查文件大小。 指数长短与存储在索引中的数据。

一切都说明如下:

http://www.mkyong.com/mysql/how-to-calculate-the-mysql-database-size/



Answer 6:

答案都不包括开销大小和表的元数据的大小。

这里是由数据库分配的“磁盘空间不足”的一个更准确的估计。

SELECT ROUND((SUM(data_length+index_length+data_free) + (COUNT(*) * 300 * 1024))/1048576+150, 2) AS MegaBytes FROM information_schema.TABLES WHERE table_schema = 'DATABASE-NAME'


Answer 7:

SUM(Data_free) 可能会或可能是无效的 。 这取决于历史innodb_file_per_table 。 更多的讨论中找到这里



Answer 8:

MySQL的工具由Oracle有一个命令调用mysqldiskusage显示每个数据库的磁盘使用情况: https://dev.mysql.com/doc/mysql-utilities/1.6/en/mysqldiskusage.html



Answer 9:

如果你正在使用MySQL工作台,它很容易得到数据库大小,每个表的大小,索引大小等的所有细节

  1. 右键单击模式
  2. 选择模式督察选项

  3. 它显示模式大小的所有细节

  4. 选择标签,查看每个表的大小。

  5. 在数据长柱diplayed表大小



Answer 10:

如果你想找到所有MySQL数据库的大小,我们这个命令,它会显示以MB为单位各自的大小;

SELECT table_schema "database", sum(data_length + index_length)/1024/1024 "size in MB" FROM information_schema.TABLES GROUP BY table_schema;

如果您有大量的数据库,你可以使用下面的命令来显示结果以GB为单位;

SELECT table_schema "database", sum(data_length + index_length)/1024/1024/1024 "size in GB" FROM information_schema.TABLES GROUP BY table_schema;

如果你想只显示一个特定数据库的大小,例如YOUR_DATABASE_NAME ,您可以使用下面的查询;

SELECT table_schema "database", sum(data_length + index_length)/1024/1024/1024 "size in GB" FROM information_schema.TABLES WHERE table_schema='YOUR_DATABASE_NAME' GROUP BY table_schema;


文章来源: How to Get True Size of MySQL Database?