Jose C. Masson escribió:
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
No podes pegar el sql aquí?
Normalmente no hay esa diferencia que mencionas entre los distintos
tipos de joins
Habría que ver la consulta.
--
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/
Usuarios Software Libre Argentina (USLA)