如何以兆字节为单位获取MySQL表行的大小?

时间:2013-01-05 20:39:56

标签: php mysql

我知道如何获取表的大小但是如何查询单个表行的大小(以兆字节为单位)?

帖子here建议:

$rowLength = 0; 
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'"); 

if(!$result) { 
    die('Could not run query'); 
}    

$lengths = mysql_fetch_lengths($result); 

foreach($lengths as $length) { 
    $rowLength += $length; 
}    

echo "\$rowLength = $rowLength"; 

...但解决方案似乎累积字段长度值,我需要字节大小(转换为Mb)。

1 个答案:

答案 0 :(得分:0)

行的大小取决于所使用的引擎,我不认为这是一个黄金法则。

例如,使用 InnoDB ,您可以使用以下规范来确定行的大小:http://dev.mysql.com/doc/refman/5.5/en/innodb-physical-record.html。如果您使用 MyISAM ,则应遵循:http://dev.mysql.com/doc/refman/5.5/en/myisam-table-formats.html