Tutoriales Varios

Como conocer el tamaño en bytes de una Base de Datos MySQL

La consulta:

 

SHOW TABLE STATUS

 

Te muestra información sobre las tablas de una base de datos. Entre los campos que te muestra, hay uno que es ‘Data_length’, bueno, pues eso es lo que ocupan los datos de cada tabla.

 

Lo que ocurre es que además de los datos, también puede representar bastante espacio lo asignado para cada índice. Y esto lo indica en el campo ‘Index_length’

 

Para obtener el valor total de la base de datos, se me ocurre emplear, por ejemplo, PHP para recuperar todos los valores y sumarlos posteriormente.

 

Sería algo como:

Código PHP:

mysql_connect(Datos de conexion) or die(mysql_error());

mysql_select_db("base_de_datos") or die(mysql_error());

 

$sql = "SHOW TABLE STATUS";

$resultado = mysql_query($sql) or die(mysql_error());

 

$total = 0;

while ($tabla = mysql_fetch_assoc($resultado))

$total += ($tabla[‘Data_length’]+$tabla[‘Index_length’]);

 

echo $total;

 

Es decir, en la variable $total tenemos cuanto ocupa la base de datos "base_de_datos" (en bytes).

 

Si queremos mostrar ese valor en KB, es muy sencillo…

 

Código PHP:

$total_temp = $total / 1024;

$total_kb = number_format($total_temp, 0, ",", ".")+1;

 

// despues…

echo $total_kb;