Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/02/2010, 15:28
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: agilizar busqueda que tarda mucho

Código MySQL:
Ver original
  1.     DP.nombre,
  2.     DP.apellidos,
  3.     DP.sexo,
  4.     DP.provincia,
  5.     DP.fecha_nacimiento,
  6.     DP.nivel,
  7.     DP.disponibilidad_horaria,
  8.     DP.viajar,
  9.     DP.vehiculo,
  10.     DP.permiso_conducir
  11.     datos_candidatos DC
  12.     INNER JOIN datos_personales DP ON DC.idcandidato = DP.idcandidato
  13.     INNER JOIN datos_estudios DE ON DC.idcandidato = DE.idcandidato
  14.     INNER JOIN datos_otros DO ON DC.idcandidato = DO.idcandidato  
  15. $where
A mi entender, lo que te plantea Huesos52 es lo único que puede mejorar la performance de esta consulta, porque la selección está optimizada al máximo posible, ya que las relaciones están creadas sobre la PK y en ese sentido no hay mejor selectibilidad.
Si deberías crear índices INDEX sobre los campos datos_estudio.idcandidato y datos_otros.idcandidato, ya que son los usados para el INNER JOIN y la relación debe ser 1:N en esos casos.
A esos índices, habría que agregarles los que puedas definir para los parámetros del WHERE, como dice Huesos52.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)