20/10/2014, 09:51
|
| 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) |