Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/10/2014, 09:51
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: 17 años
Puntos: 2658
Respuesta: Left join muy lento

Las claves foráneas no son estrictamente una solución "distinta". El tema pasa por el lado de que cuando existe una relacion de PK/FK MySQL crea un índice que administra esa relación, por lo que indexar esos campos es redundante. No generará diferencias de comportamiento, y como mucho bajará la performance de los INSERT a las dos tablas.
Ahora bien, si las tablas no son InnoDB, sino MyISAM, entonces no existirán los indices de FOREIGN KEY y te convendrá crear un indice para ese campo en cada tabla.
De todos modos, recuerda que un LEFT JOIN siempre realiza un FULL TABLE SCAN sobre la primera tabla, por lo que si la primera tiene demasiados registros es mejor que se encuentre optimizada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)