Oracle - OPTIMIZACION

 
Vista:

OPTIMIZACION

Publicado por Juan scarpelli (1 intervención) el 12/07/2007 01:04:02
Sres.:

Alguien que me pueda ayudar a optimizar este codigo por favor.

SELECT (SELECT E.APLLDO_PTRNO_TTLAR
FROM NSTDSYS.EXPDNTES E
WHERE E.ID = DR.ID_DOCU_MAES) AS apTituM,
(SELECT E.APLLDO_MTRNO_TTLAR
FROM NSTDSYS.EXPDNTES E
WHERE E.ID = DR.ID_DOCU_MAES) AS amTituM,
(SELECT E.NMBRES_TTLAR
FROM NSTDSYS.EXPDNTES E
WHERE E.ID = DR.ID_DOCU_MAES) AS noTituM,
(SELECT M.VL_CODI_BARR
FROM MAISYS.DOCUMENTO M
WHERE M.ID_DOCU = DR.ID_DOCU_MAES
AND M.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES) AS vlBarrM,
(SELECT TD.NO_TIPO_DOCU
FROM MAISYS.TIPO_DOCUMENTO TD
WHERE TD.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES) AS noTipoM,
(SELECT T.DSCRPCION
FROM MAISYS.DOCUMENTO M,
SICE.TUFO T
WHERE M.ID_DOCU = DR.ID_DOCU_MAES
AND M.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES
AND T.ID = M.ID_UNID_ORGA) AS noUnidM,
NVL((SELECT M.ID_CONT
FROM MAISYS.DOCUMENTO M
WHERE M.ID_DOCU = DR.ID_DOCU_MAES
AND M.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES),0) AS idContM,
(SELECT M.VL_UBIC_TOPO
FROM MAISYS.DOCUMENTO M
WHERE M.ID_DOCU = DR.ID_DOCU_MAES
AND M.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES) AS vlUbicM,
(SELECT M.FE_USUA_ACEP
FROM MAISYS.DOCUMENTO M
WHERE M.ID_DOCU = DR.ID_DOCU_MAES
AND M.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES) AS feAcepM,
(SELECT L.VL_CODI_BARR
FROM MAISYS.DOCUMENTO L
WHERE L.ID_DOCU = DR.ID_DOCU_LEGA
AND L.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_LEGA) AS vlBarrL,
(SELECT TD.NO_TIPO_DOCU
FROM MAISYS.TIPO_DOCUMENTO TD
WHERE TD.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_LEGA) AS noTipoL,
(SELECT T.DSCRPCION
FROM MAISYS.DOCUMENTO L,
SICE.TUFO T
WHERE L.ID_DOCU = DR.ID_DOCU_LEGA
AND L.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_LEGA
AND T.ID = L.ID_UNID_ORGA) AS noUnidL,
NVL((SELECT L.ID_CONT
FROM MAISYS.DOCUMENTO L
WHERE L.ID_DOCU = DR.ID_DOCU_LEGA
AND L.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_LEGA),0) AS idContL,
(SELECT L.VL_UBIC_TOPO
FROM MAISYS.DOCUMENTO L
WHERE L.ID_DOCU = DR.ID_DOCU_LEGA
AND L.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_LEGA) AS vlUbicL,
(SELECT L.FE_USUA_ACEP
FROM MAISYS.DOCUMENTO L
WHERE L.ID_DOCU = DR.ID_DOCU_LEGA
AND L.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_LEGA) AS feAcepL
FROM MAISYS.DOCUMENTO_RELACION DR
WHERE DR.IN_TIPO = 'X'
AND DR.IN_PROC = 'N'

AND DR.ID_TIPO_DOCU_MAES = 2
AND (SELECT M.ID_UNID_ORGA
FROM MAISYS.DOCUMENTO M
WHERE M.ID_DOCU = DR.ID_DOCU_MAES
AND M.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES) = 4047
ORDER BY apTituM ASC,
amTituM ASC,
noTituM ASC,
vlBarrM ASC


podrian envirame el nuevo codigo optimizado es urgente....
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

RE:OPTIMIZACION

Publicado por carrillo (39 intervenciones) el 12/07/2007 09:47:12
Buenos dias,
Sin saber las foreing keys y primarys keys de las tablas es complicado pero kreo k con esto te sirva.

select E.APLLDO_PTRNO_TTLAR apTituM,E.APLLDO_MTRNO_TTLAR amTituM,E.NMBRES_TTLAR noTituM,
M.VL_CODI_BARR vlBarrM,TD.NO_TIPO_DOCU noTipoM,T.DSCRPCION noUnidM,
NVL(M.ID_CONT,0) idContM,M.VL_UBIC_TOPO vlUbicM,M.FE_USUA_ACEP feAcepM,
M2.VL_CODI_BARR vlBarrL,TD2.NO_TIPO_DOCU noTipoL,T2.DSCRPCION noUnidL,
NCL(M2.ID_CONT,0) idContL,M2.VL_UBIC_TOPO vlUbicL,M2.FE_USUA_ACEP feAcepL
from NSTDSYS.EXPDNTES E,
MAISYS.DOCUMENTO M,
MAISYS.TIPO_DOCUMENTO TD ,
SICE.TUFO T,
MAISYS.DOCUMENTO_RELACION DR
MAISYS.DOCUMENTO M2,
MAISYS.DOCUMENTO_RELACION DR2,
MAISYS.TIPO_DOCUMENTO TD2 ,
SICE.TUFO T2
WHERE DR.ID_DOCU_MAES=E.ID
AND M.ID_DOCU = DR.ID_DOCU_MAES
AND M.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_MAES
AND TD.ID_TIPO_DOCU = DR.ID_TIPO_DOCU_LEGA
AND DR2.ID_DOCU=DR.ID_DOCU
AND M2.ID_DOCU = DR2.ID_DOCU_LEGA
AND TD2.ID_TIPO_DOCU = DR2.ID_TIPO_DOCU_LEGA
AND T2.ID=M2.ID_UNID_ORGA
AND M2.ID_TIPO_DOCU = DR2.ID_TIPO_DOCU_LEGA
AND T.ID = M.ID_UNID_ORGA
AND DR.IN_TIPO = 'X'
AND DR.IN_PROC = 'N'
AND DR.ID_TIPO_DOCU_MAES = 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar