Acelerar consultas mysql con INNER JOIN

Hasta hora venia haciendo las consultas select para varias tablas en mysql de forma clásica:

select x.campo1, y.campo2 from x,y where x.campo1=y.campo1

El problema es que para hacer la consulta sobre tablas grandes, era muy lento (Con explain delante de la consulta se puede ver la secuencia que sigue)

He probado a hacer consultas mysql con inner join en lugar del anidamiento where y la verdad es que el resultado es impresionante, si además tenemos varias tablas con where el resultado es eterno mientras que con inner join casi inmediato.

Un ejemplo:

select x.campo1,y.campo2,w.campo3,z.campo4 from x
inner join y on x.campo1=y.campo1
inner join w on y.campo1=w.campo1
inner join z on w.campo1=z.campo1
where x.campo1=’prueba’

Funciona genial, para varias tablas aún más.


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.