•
analyze y optimize en MySQL slaves
En un MySQL con replicación, todo lo que acaba en el binlog se consideran modificaciones que se traspasan a los slaves para que sean modificados igual que el master.
En el caso de los analyze y optimize, no se ve tan claro como un UPDATE:
- analyze: Actualiza la información que utiliza el optimizador sobre la distribución de las filas en la tabla
- optimize: Elimina el espacio que ya no se usa: Cuando un dato es eliminado es marcado como eliminado en lugar de eliminar-se, con este comando recreamos la tabla eliminando el espacio no utilizado
Estos comandos acaban en el binlog, por lo que no hace falta tener estas tareas programadas en los slaves. Mediante el comando mysqlbinlog lo podemos ver:
$ mysqlbinlog mysql-bin.000001 /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 4 #120426 9:55:16 server id 1 end_log_pos 106 Start: binlog v 4, server v 5.1.30-debug-log created 120426 9:55:16 at startup # Warning: this binlog was not closed properly. Most probably mysqld crashed writing it. ROLLBACK/*!*/; # at 106 #120426 9:55:50 server id 1 end_log_pos 189 Query thread_id=1 exec_time=0 error_code=0 SET TIMESTAMP=1335426950/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; SET @@session.sql_mode=0/*!*/; /*!\C latin1 *//*!*/; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; create database test /*!*/; # at 189 #120426 9:56:04 server id 1 end_log_pos 277 Query thread_id=1 exec_time=0 error_code=0 use test/*!*/; SET TIMESTAMP=1335426964/*!*/; create table test(id int) /*!*/; # at 277 #120426 9:56:07 server id 1 end_log_pos 358 Query thread_id=1 exec_time=0 error_code=0 SET TIMESTAMP=1335426967/*!*/; analyze table test /*!*/; # at 358 #120426 9:56:14 server id 1 end_log_pos 440 Query thread_id=1 exec_time=0 error_code=0 SET TIMESTAMP=1335426974/*!*/; optimize table test /*!*/; DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
Relacionados
Imprimir
Deja un comentario: