rss
twitter
  •  

Optimizar automáticamente todas las tablas de un servidor MySQL

| Posted in General |

2

En los servidores de VeneHosting.com ejecutamos semanalmente un proceso que optimiza ‘a juro’ todas las tablas, de todas las bases de datos MySQL de todo el servidor (que vienen siendo un montón enorme!); con el fin de ayudar a mantener un buen nivel de rendimiento.

Como no somos egoístas, compartimos este simple script con el resto de la comunidad y ¿porqué no?, hasta la competencia podría aprender algo más de nosotros !


<?php
/* modifica estos valores según tu servidor.*/
$host="localhost";
$usuario="admin"; //Tu super usuario
$pasword="xxxxx"; //La clave del super-usuario

/*no modifiques nada más*/
$link=mysql_connect($host,$usuario,$pasword);

$dbs=mysql_list_dbs($link);
while ($db=mysql_fetch_object($dbs))
{
        echo "$db->Database\n";
        $tablas = mysql_db_query($db->Database, "SHOW TABLES", $link);
        while ($tabla=mysql_fetch_array($tablas)) {
                mysql_db_query($db->Database, "OPTIMIZE TABLE ".$tabla[0], $link);
                echo "$tabla[0]\n";
        }
}
?>

Sólo resta programar este script con CRON para que se ejecute cada X tiempo (recomendado 1 vez a la semana) y listo !

Hacer un select aleatorio (random) con MySQL

| Posted in General |

1

Nota mental:

¿Queremos obtener 3 (o cualquier otra cantidad) de registros de una tabla MYSQL, pero de forma aleatoria y de paso sin que se repitan ?

ORDER BY RAND() he allí el truco.


"SELECT * FROM producto ORDER BY RAND() LIMIT 3;"

Así de fácil.