Tema: FAQ's de PHP
Ver Mensaje Individual
  #52 (permalink)  
Antiguo 20/03/2003, 10:40
Avatar de BVis
BVis
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 104
Antigüedad: 21 años, 5 meses
Puntos: 0
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_temp0","".")+1;

// despues...
echo $total_kb
1 Saludo.
__________________
"Yo opino lo mismo que BVis, el de 'forosdelweb' " - Bill Gates