如何获取GB中的mysql表大小

Par*_*i04 14 mysql

最后用以下查询计算了GB表中MySQL表的大小.

SELECT(data_length + index_length)/ power(1024,3)tablesize_gb FROM information_schema.tables WHERE table_schema ='db'和table_name ='tablename'

是否有可能以GB为单位获取MySQL行的大小.

或者如何以GB为单位获取表的平均行大小.

nne*_*neo 14

要获得平均行长度(包括开销),请使用AVG_ROW_LENGTHinformation_schema.tables中的列.

据我所知,没有办法计算MySQL中单个特定行的确切实际大小.


Ran*_*tne 12

嗨这可能会成功,我们有一个类似的问题,不得不找出哪些类型的行占用最多的空间.这就是为什么在这里与一群人...

SELECT groupval, (sum(length(somefield) + length(someotherfield)) / 1024) / 1024 as "fields_size_mb"
FROM table
GROUP BY groupval
ORDER BY fields_size_mb desc;
Run Code Online (Sandbox Code Playgroud)


小智 5

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
Run Code Online (Sandbox Code Playgroud)