刚刚结束了计算MySQL表的大小在GB与以下查询。 SELECT(data_length+index_length)/power(1024,3)tablesize_gb FROM information_schema.tables WHERE table_schema='db' and table_name='tablename' 是否可以获得MySQL行的大小(以GB为单位)。 或者如何获取表的平均行大小(以GB为单位)。
SELECT groupval, (sum(length(somefield) + length(someotherfield)) / 1024) / 1024 as "fields_size_mb"
FROM table
GROUP BY groupval
ORDER BY fields_size_mb desc;
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024 ), 2) as `Size in MB`,
round((AVG_ROW_LENGTH / 1024), 2) as `Avg row size in KB`
FROM information_schema.TABLES WHERE table_schema = 'your_db_name'
ORDER BY `Size in MB` DESC
6条答案
按热度按时间9wbgstp71#
要获得平均行长度(包括开销),请使用信息模式表中的
AVG_ROW_LENGTH
列:据我所知,没有办法计算MySQL中单个特定行的确切实际大小。
jmo0nnb32#
嗨,这可能会起作用,我们有一个类似的问题,必须找出哪些类型的行占用最多的空间。这就是为什么在这里与一组由...
2ledvvac3#
watbbzwu4#
不知道你是否在寻找这个,但我最终在这里寻找一行的理论大小(每个字段的大小相加)。
最后,我提出了这个要求:
tcomlyy65#
要计算行的大小,请使用length()方法。
例如:
要以GB为单位计算大小,只需将其除以1024 3次
vtwuwzda6#
要查找表的大小,我们可以使用这样的东西..
找到MYSQL数据库中最大的表,我们可以使用类似这样的方法