Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta q usa muuchas tablas, por lo q se queda colgada...como optimizarla?

Estas en el tema de Consulta q usa muuchas tablas, por lo q se queda colgada...como optimizarla? en el foro de Bases de Datos General en Foros del Web. Tengo la siguiente consulta en postgres desde php, y usa tantas tablas q se queda colgada y no termina... He comprobado q si quito la ...
  #1 (permalink)  
Antiguo 22/10/2004, 02:29
 
Fecha de Ingreso: marzo-2004
Mensajes: 90
Antigüedad: 20 años, 1 mes
Puntos: 0
Consulta q usa muuchas tablas, por lo q se queda colgada...como optimizarla?

Tengo la siguiente consulta en postgres desde php, y usa tantas tablas q se queda colgada y no termina...
He comprobado q si quito la condición de P.name='$proveedor' y todas las tablas q uso para llegar a la tabla del proveedor, la consulta finaliza correctamente, pero al tener q poner esa condición, supongo q al poner tantas tablas en el FROM para llegar con las condiciones del WHERE hasta la tabla del proveedor, se queda colgado por el gran número de registros de la tabla, pq la BD tiene bastantes registros.

La consulta es:

SELECT avg((R.\"sentTime\"/OD.length)*100), $expr_fecha
from \"ON_DEMAND\" OD, \"REQUEST\" R, \"FILE\" F, \"SECTION\" S, \"MEDIA_ITEM\" V, \"PROVIDER\" P
where OD.extension='rm' AND OD.length > 0 AND OD.objid=R.file
AND V.objid=F.media_item AND S.objid=V.section AND S.provider=P.objid AND P.name='$proveedor'
AND R.\"startDate\" >= to_date('$inicio','DD/MM/YYYY') AND R.\"startDate\" <= to_date('$fin','DD/MM/YYYY')
group by $expr_grp
order by $expr_grp asc

Donde $expr_fecha y $expr_grp son variables php q indican por q se ordena y se agrupa.

¿Podría hacer la consulta de otra manera más eficiente? ¿Cómo? ¿Con JOIN's? Es q no se muy bien como utilizarlos...


Espero q alguien pueda aconsejarme.

Gracias por adelantado y salu2
  #2 (permalink)  
Antiguo 22/10/2004, 05:20
 
Fecha de Ingreso: agosto-2003
Mensajes: 448
Antigüedad: 20 años, 8 meses
Puntos: 1
Creaste los indices?, tal vez creando un indice en el campo P.name se soluciona
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:19.