Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2004, 02:29
jorgynh0
 
Fecha de Ingreso: marzo-2004
Mensajes: 90
Antigüedad: 20 años, 8 meses
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