Pregunta:
Fecha: 09-06-2015 10:56:34
(En Español)
Esq tengo este código que me optimiza todas las tablas
Pero quiero saber como saber cuando la tabla necesita optimizarse y poder ejecutar este script n.n
Salu2 Votos: 1 - Respuestas: 2 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
¿Cómo saber si una tabla necesita optimizarse en MySQL?[Resuelta]
hola amigos tal y como dice el titulo como puedo saber si una tabla necesita optimizarse.Esq tengo este código que me optimiza todas las tablas
<?php
include "../sistem/acceso_db.php";
//EXRAEMOS LAS TABLAS DE LA base DE DATOS
$sql = "SHOW TABLES";
$tablas = mysqli_query($link, $sql) or die("No se puede ejecutar la consulta: ".mysqli_error());
while ($tabla = mysqli_fetch_assoc($tablas)) {
foreach ($tabla as $item => $nombre_tabla) {
echo '<script language="javascript">alert("';
echo "Tabla: ".$nombre_tabla.": ";
//echo $nombre_tabla.": ";
//OPTIMIZAMOS LAS TABLAS
mysqli_query($link, "OPTIMIZE TABLE ".$nombre_tabla) or die("No se puede ejecutar la consulta: ".mysqli_error());
// MOSTRAMOS EL RESULTADO
if (mysqli_error($link)){
echo " No ha podido ser optimizada.";
}else{
echo "Optimizada.";
echo '");</script>';
echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://elcapa8.hol.es/admin/">';
}
echo "<br />";
}
}
mysqli_close($link);
?>
Pero quiero saber como saber cuando la tabla necesita optimizarse y poder ejecutar este script n.n
Salu2 Votos: 1 - Respuestas: 2 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 10-06-2015 04:33:02 Hola Edison, lo que puedes hacer es ver la fragmentación de las tablas y proceder a optimizar solo las que lo requieran.
Un script para ver la fragmentación en % "frag_percent" en TODAS LAS TABLAS de TODAS LAS BASE DE DATOS (ojo porque puede tardar) es el siguiente:
select table_schema ,table_name ,data_length ,data_free ,(data_free/data_length)*100 AS frag_percent ,engine from information_schema.tables where table_schema not in ('information_schema', 'mysql') and data_free > 0 order by frag_percent desc;
Obviamente que puedes restringir el script a un base de datos en particular con un simple cambio:
table_schema = 'NOMBRE_BASE_DE_DATOS'
Espero que mi respuesta te sea de ayuda.
Saludos,
Fernando Votos: 2 - Link respuesta -
Fecha: 10-06-2015 15:14:21 Muy bueno el script de Fernando
lo voy a probar
saludos Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
