Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/01/2007, 16:10
Avatar de BLAH !!
BLAH !!
 
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 8 meses
Puntos: 16
De acuerdo OPTIMIZE TABLE al borrar archivo

Hola a todos:

Como ven he jodido bastante hoy ... jijiji les pido mis disculpas.. es que tengo solo hoy libre para hacer esto con un poco de su ayuda

tengo un php llamado borrar_archivo.php ... (que original) xD, en el cual (lógico) borro un un row de mi bd. Lo que quiero es que cuando este se borre automaticamente mi bd se OPTIMICE ...

... OPTIMIZE TABLE debe ser usado si ha borrado una gran parte de una tabla o si ha hecho muchos cambios a una tabla con filas de longitud variable (tablas que tienen columnas VARCHAR, BLOB o TEXT). Los registros borrados son mantenidos en una lista enlazada y las subsecuentes operaciones INSERT reusan las posiciones de los registros anteriores. Puede utilizar OPTIMIZE TABLE para reclamar ese espacio inutilizado y para desgragmentar el archivo con los datos...
Gracias a : http://www.yukei.net/2005/12/optimiz...base-de-datos/

... Las tablas con columnas BLOB o TEXT están sujetas a altos grados de fragmentación. Si se efectúan muchos borrados y actualizaciones, es recomendable ejecutar OPTIMIZE TABLE periódicamente para reducir la fragmentación...
Gracias a : http://www.stan.com.mx/index.php?id=124


Aca les dejo el código que me borra por lo menos .. ahora que me optimice la tabla no se... :

Código PHP:
<?
require("dbconnect.inc.php");

 
$qry "DELETE FROM archivos where id=$id";
 
$res mysql_query($qry);
 
$del "descargar_archivo.php?id=$id";
//esto lo agregue
 
$del mysql_db_query($base,$del,$SQLid); 
//hasta aca

function delfile($del){ 
   foreach(
glob($del) as $fn) { 
       
unlink($fn); 
   } 
}

//esto también lo agregue
while ($opt=mysql_fetch_array($del)) { 
    
$optimizar "OPTIMIZE TABLE".$opt[0];
    
mysql_db_query($base,$optimizar,$SQLid); 

//hasta aca

echo "<br><br>";

...
?>
Les cuento que en dbconnect.inc.php tengo esto (por la conexión)

<?
$servidor="localhost";
$usuario="my_usuario";
$password="my_pass";
$base="nombre_bd";
$SQLid = mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$SQLid);
?>

No será más fácil crear otro $qry ??? mmmm...

Muchas Gracias.-
Pablo Araya.-
__________________
Adios ...!!!!

Última edición por BLAH !!; 05/01/2007 a las 16:24