MySQL – Generar SQL para optimizar las tablas más rellenitas
Miércoles 15 de Octubre del 2008 - MySQL
¿ Generar SQL desde MySQL ? Pozi.
MySQL:
-
SELECT CONCAT('OPTIMIZE TABLE ', table_name, ';')
-
FROM information_schema.tables
-
WHERE table_schema = aqui_tu_base_de_datos
-
AND table_rows>= 1000;
Esto generará una salida de forma automática tal que...
MySQL:
-
OPTIMIZE TABLE actions_log;
-
OPTIMIZE TABLE forum_messages;
-
OPTIMIZE TABLE forum_users;
-
OPTIMIZE TABLE forum_privmsg;
Ahora basta con pasarla a MySQL en linea de comandos, con un cron, desde PHP, etc... y asegurarnos que todas las tablas que pasen de X registros en nuestra BD se optimizan solitas de forma completamente automática.
Si queremos obtener el mismo resultado pero de todas las bases de datos de nuestro servidor, y no sólo de una determinada:
MySQL:
-
SELECT CONCAT('OPTIMIZE TABLE ', table_schema, ".", table_name, ';')
-
FROM information_schema.tables
-
WHERE table_rows>= 1000;
That's all, folks.