Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/02/2007, 13:08
Avatar de deadlykyo
deadlykyo
 
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 19 años, 3 meses
Puntos: 5
Re: Optimizar consulta

Holas Pitu, te explico la diferencia entre usar o no JOINS con un ejemplo, cuando haces un select entre dos tablas suponiendo las tablas:
usuario
Código:
idUsuario        Nombre              Login
    1        Miguel Sanchez      miguel.san
    2        Ronal Gomez         rona.gom
    3        Diego Alandia       diego.ala

pagoCuota
idPago     idUsuario         fechaPago            total
   1           1             2006-11-07             50
   2           1             2007-12-09             40
   3           2             2006-12-13             70
   4           2             2007-01-05             90
   5           1             2007-01-15             65
si usas el join en el WHERE, sucede que el motor de MySQL agarra y lee el FROM de tu consulta y como no encuentra JOINS, realiza un producto cartesiano entre las dos tablas en este caso un producto cartesiano nos generaria 15 registros, y recien despues de generarlos empieza con la sentencia WHERE y empieza a discriminar los resultados y quedarian solo 5, pero si usas los JOINS MySQL empieza a discriminar cuales cumplen la condicion del FROM y luego pasa al WHERE quedando 5 registros desde el principio, claro esto no se nota nada en 100, 200 registros, pero cuando trabajes con cantidades como 10000 registros en una, 50000 en otra, y alrededor 200000 en una tabla intermedia de ambas imagina un join entre esas tres tablas, no me puedo dar el lujo de generar 50000*10000*200000 registros, es por eso el uso del JOIN, ahora sobre tu using filesort, no se ve que salga eso y sobre la tabla temporal no deberia salir eso ya que solo sale eso si es que usas GROUP BY y ORDER BY sobre columnas diferentes, me parece raro que te salga eso, porque no pones la estructura de tus tablas tal vez ahi tengamos algun indicio de que puede ser, saludos, cya
__________________
"El Conocimiento es de todos, no solo de algunos"