Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2013, 07:33
mariscos_recio
 
Fecha de Ingreso: septiembre-2012
Mensajes: 51
Antigüedad: 11 años, 7 meses
Puntos: 0
¿Tabla que se usa mucho debería clonarse?

Como he estado mirando, el motor InnoDB con respecto a MyISAM solo hace un bloqueo de la fila y no de toda la tabla, lo que mejora el rendimiento para hacer más consultas simultáneamente. El problema surge cuando tienes una tabla InnoDB que es la "central", es decir, que otras tablas usan foreign key a la columna id de esa tabla central, como en esta imagen:



Es entonces cuando pienso que si afecta al rendimiento general de la base de datos(un cuello de botella producido por esperar a que la fila no este bloqueada) el tener que pedir información siempre a esa tabla central o que, especialmente, muchas consultas de la aplicación tengan que hacer muchas comparaciones con el campo id de dicha tabla central.
Es mejor duplicar esa tabla central y hacer unas consultas de comparación(por ejemplo, inicio de sesiones y todo eso)a la original y otras consultas de comparación a la otra tabla(la duplicada) para obtener el nombre del usuario cuando se requiera u otra información?(repartir en dos la carga de las consultas)

Se que si se duplica una tabla ocuparía más espacio en el disco duro pero a la hora de hacer consultas sobre mismas filas no tendría que esperar mucho(por el tema del bloqueo de fila) porque se repartiría la carga entre dos tablas...también es verdad que consumiría más CPU por lo del tema de los triggers, etc.
¿Aliviaría la carga o mejoraría el rendimiento de las consultas al hacer una duplicación con un trigger a otra tabla?