SQL - Consulta q usa muuchas tablas, por lo q se queda c

 
Vista:

Consulta q usa muuchas tablas, por lo q se queda c

Publicado por jorginho (1 intervención) el 22/10/2004 10:14:26
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder