tablesizes.csv # http://adamyoung.net mysql_connect('localhost','root',''); $result = mysql_query('SHOW DATABASES'); $databases = array(); while ($row = mysql_fetch_array($result)) { $databases[] = $row['Database']; } $totals = array(); foreach ($databases as $database) { $result = mysql_query("SHOW TABLE STATUS FROM {$database}"); if (!$result) continue; while ($row = mysql_fetch_array($result)) { $totals[] = array('database' => $database, 'table' => $row['Name'], 'Data_Length' => $row['Data_length'], 'Index_Length' => $row['Index_length'], 'Total' => ($row['Data_length'] + $row['Index_length'])); } } usort($totals, 'sort_total_desc'); echo "Database,Table,Data Length,Index Length,Total\n"; foreach ($totals as $total) { echo "{$total['database']},{$total['table']},{$total['Data_Length']},{$total['Index_Length']},{$total['Total']}\n"; } function sort_total_desc($a, $b) { if ($a['Total'] == $b['Total']) return 0; return ($a['Total'] > $b['Total']) ? -1 : 1; }