PHP:¿Cómo conocer el tamaño en bytes de una Base de Datos MySQL?
De Foros del Web
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 cuánto 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; // después... echo $total_kb;
--BVis 20 Mar 2003
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
