Ver Mensaje Individual
  #13 (permalink)  
Antiguo 04/10/2014, 13:10
mblascog
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Cómo indexar la base de datos

Buenas, sigo con el tema.
Una consulta, de las más complejas que hay en la web y que tarda mucho es la siguiente:

Código MySQL:
Ver original
  1. SELECT un.*, es.titulo, es.descripcion, po.nombre_poblacion, ti.nombre_tipo_ca, op.operacion_tipo_ca
  2. FROM t_un as un, t_ca as es, t_poblacion as po, t_tipo as ti, t_operacion as op WHERE un.id_piso = es.id_piso AND un.poblacion = po.id_poblacion AND un.tipo = ti.id_tipo AND un.operacion = op.id_operacion AND un.referencia
  3. IN ((SELECT first FROM t_destacados WHERE id_cat='3'), (SELECT second FROM t_destacados WHERE
  4. id_cat='3'), (SELECT third FROM t_destacados WHERE id_cat='3'), (SELECT forth FROM t_destacados WHERE
  5. id_cat='3'), (SELECT fifth FROM t_destacados WHERE id_cat='3'), (SELECT sixth FROM t_destacados WHERE
  6. id_cat='3')) LIMIT 0, 6

He probado con estas dos, que:
Código MySQL:
Ver original
  1. SELECT un.*, es.titulo, es.descripcion, po.nombre_poblacion, ti.nombre_tipo_".$idioma.", op.operacion_tipo_".$idioma.
  2. FROM t_un as un, t_".$idioma." as es, t_poblacion as po, t_tipo as ti, t_operacion as op
  3. WHERE un.id_piso = es.id_piso AND un.poblacion = po.id_poblacion AND un.tipo = ti.id_tipo
  4. AND un.operacion = op.id_operacion AND (un.referencia = ".$oportunitats['1']."
  5. or un.referencia = ".$oportunitats['2']." or un.referencia = ".$oportunitats['3']."
  6. or un.referencia = ".$oportunitats['4']."
  7. or un.referencia = ".$oportunitats['5']."
  8. or un.referencia = ".$oportunitats['6'].")

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
Pero el tiempo de respuesta es más o menos igual. Alguna sugerencia o manera de optimizar esta consulta?

Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Última edición por gnzsoloyo; 04/10/2014 a las 15:55