tipos optimizar lentas inner consultas mysql sql database join drupal

mysql - optimizar - ¿dónde está la falla en mi código sql?



select mysql (2)

''SELECT * FROM t1 JOIN t2 ON t1.wid = t2.wid WHERE t2.wid IS NULL LIMIT '' . $number;

Este código no me devuelve nada, ¿podrían ayudarme por qué no recupero los valores?


Creo que tienes un error tipográfico.

''SELECT * FROM t1 JOIN t2 ON t1.wid = t2.wid WHERE t2.wid IS NULL LIMIT '' . $number;


JOIN t2 ON t1.wid = t1.wid

¿lo dijiste? o realmente quieres decir t1.wid = t2.wid? en ese caso, querrías unirme a la izquierda.

EDITAR

De acuerdo, entonces lo arreglaste. Eso no mostrará ningún resultado a menos que haya filas en t2 que tengan un wid que coincida con una fila en t1 con el mismo wid.

Si quieres resultados, cámbialo a esto:

''SELECT * FROM t1 LEFT JOIN t2 ON t1.wid = t2.wid WHERE t2.wid IS NULL LIMIT '' . $number;

SIGUIENTE EDICION

Si el objetivo es actualizar t2 con valores de t1 que ya no están en t2, sería algo como esto:

''INSERT INTO t2 SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.wid = t2.wid WHERE t2.wid IS NULL LIMIT '' . $number;

El paso que faltaba era simplemente devolver solo los resultados de t1, y luego insertarlos en t2.