Hola a todos,

A ver si a alguien alguna vez le pasó esto con MySQL.

Situación:

La aplicación con la que estoy laburando (SugarCRM) en una parte de su interfaz 
y para
mostrar ciertos datos genera automagicamente una consulta, en la cual hace uso 
de "LEFT
JOIN" entre dos tablas (leads, y leads_cstm) de no más de 9000 registros cada 
una.
Esta consulta, por algún extraño motivo al MySQL le cuesta un huevo y la mitad 
del otro
(450 segundos).

Si ejecuto esta misma consulta directamente sobre la consola de MySQL o desde 
PHPMyadmin,
tarda lo mismo... pero si la modifico levemente, y en cambio de usar LEFT JOIN 
uso INNER
JOIN, tarda menos de un segundo en ejecutarse.

Vale aclarar que en este caso en particular es al pedo usar LEFT JOIN porque la 
relación
entre las tablas es 1 a 1... con lo cual no habría registros de "leads" que no 
tengan su
contraparte en "leads_cstm", así que podría usar INNER JOIN sin dramas... pero 
para esto
tendría que ponerme a meterle mano al core de la aplicación, y es algo que 
preferiría evitar.

Estuve buscando por la red y no logré encontrar el por qué de esta diferencia 
entre LEFT
JOIN e INNER JOIN.... alguien conoce si existe alguna forma de tunear MySQL 
para que LEFT
JOIN no tarde tanto o mi destino está escrito y tendré que meterle mano a la 
aplicación
para cambiar la forma en la cual hace la consulta??

Abrazos
-- 
José C. Massón

.: Rebeldes Stereotipos
Sábados 15 a 17 hs FM La Tribu 88.7 MHz
rebeldes.org.ar
--
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/
Usuarios Software Libre Argentina (USLA)

Responder a