Comunidad de diseño web y desarrollo en internet online

LEFT JOIN vs Subquery

Citar            
MensajeEscrito el 26 Abr 2010 03:57 pm
Siempre habia pensado que los JOINS tenian mejor rendimiento que las subquerys, pero en este caso el subquery regresa los registros mas rapido que el LEFT JOIN Que tarda minutos y nada de nada:

JOIN

Código MySQL :

SELECT i.id_producto FROM Inventario i
LEFT JOIN bitacora b
   ON b.tabla = 'INVENTARIO'
   AND b.fecha< '2010-01-01 00:00:00'
   AND b.id_campo = i.id_producto
WHERE b.idbitacora IS NULL;


Subquery

Código MySQL :

SELECT id_producto FROM Inventario i WHERE id_producto NOT IN
(SELECT mensaje As id_producto FROM bitacora WHERE fecha<'2010-01-01 00:00:00' AND tabla='inventario');


¿Sera que optimizando el LEFT JOIN este responda mas rapido que el subquery?

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

chrome
Citar            
MensajeEscrito el 29 Abr 2010 06:05 am
jorgeligg asi, como para que quede acta y pasemos este post a las futuras generaciones ¿en que termino esta historia?

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 29 Abr 2010 02:46 pm
En que por el momento me funciono mas rapido con subquery, y por falta de tiempo no eh visto como optimizar el LEFT JOIN. Lo postee aqui aver si algun curioso le metia mano a optimizar el LEFT y ver si de verdad funciona mas rapido que un subquery

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

chrome
Citar            
MensajeEscrito el 04 May 2010 03:38 pm

Jorgelig escribió:


JOIN

Código MySQL :

SELECT i.id_producto FROM Inventario i
LEFT JOIN bitacora b
   ON b.tabla = 'INVENTARIO'
   AND b.fecha< '2010-01-01 00:00:00'
   AND b.id_campo = i.id_producto
WHERE b.idbitacora IS NULL;



Se me hace extraño que utilices los campos de b.tabla y b.fecha como condiciones para la unión, ¿Qué tal si lo pasas al WHERE?

Por Darel

725 de clabLevel

5 tutoriales

 

I'm a human

chrome
Citar            
MensajeEscrito el 05 May 2010 03:39 am
en mi opinion todo depende de la necesidad del usuario ;)

Por talcual

686 de clabLevel



 

Colombia

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.