Ver Mensaje Individual
  #20 (permalink)  
Antiguo 30/01/2010, 10:28
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mostrar el nombre

Cita:
si pongo tablas diferente, tendria que hacer varias consultas y una debajode otra
En realidad no, porque la consulta posiblemente tendría la misma cantidad de JOINS que la que actualmente usas, con la diferencia que en lugar de cruzar varias veces la misma tabla para sacar un dato, cruzarías diferentes tablas para sacar cada dato, con al menos tres ventajas:
1) Usarías menos espacio de disco por ser las tablas más pequeñas, lo que auentaría la performance.
2) No estarías escaneando la tabla más grande cada JOIN por un sólo dato, que tal vez no exista. Esto mejoraría también la performance de la consulta.
3) Se podrían definir índices adicionales con el par de PKs en esas tablas, lo que aumentaría adicionalmente la performance de la consulta, ya que si los datos buscados están en el ídice, MySQL no lee la tabla sino que usa lo que encuentra en el índice.

Es tu decisión, pero a pesar de hacer que el diseño de datos sea más complejo, me parece que la ganancia en cuanto a performance lo justificaría.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)