Senhores, tenho um relatorio no qual tem muitas clásulas where e and , teria 
como fazer algo para melhorar a performance ???
segue , oq podia ser feito para criar indices eu fiz :(   ,demora em torno de 
30min
Grato.



SELECT 
  REFERENC2.CODIGO CODREFERENCIA,
  ORDEMPRO.CODIGO CODOP,
  ESTRUTOP.SEQUENCIA,
  RPAD('10143.11            ',
  20) CAMPOFILTRO,
  CELULAPD.CENTROCUSTOS,
  CELULAPD.CODIGO CODCELULA,
  MAQUINAS.CODIGO CODMAQUINA,
 -- PESSOAFJ.NOME NOMEFORNECEDOR,
--  ITREQUIS.DATAPREVISAO DATAFINAL,
  OPERAPRO.CODIGO CODOPERACAO,
  (OPERACOP.TEMPOPREPARO + OPERACOP.TEMPOPREVISTO) TOTALPREVISTO,
  (SELECT SUM(HORASTRAB + TEMPOPREPARO)
FROM 
  APONTPRO
WHERE 
  APONTPRO.OPERACAOOP = OPERACOP.OPERACAOOP ) TOTALGASTO, CENTCUST.DESCRICAO 
NOMECENTROCUSTOS, 
  CELULAPD.NOME NOMECELULA, MAQUINAS.NOME NOMEMAQUINA, ORDEMPROORI.CODIGO 
CODOPORIGINAL, 
  TO_NUMBER((AtenDest.QuantidadePrevista - AtenDest.QuantidadeAtendida) /
   (OrdemPro.Quantidade + OrdemPro.QuantidadeFolga - ORdemPro.QtdeProduzida)) 
PROPORCAO 
   FROM ORDEMPRO ORDEMPROMP ,ESTRUTOP ESTRUTOPMP  ,MATPRIOP  ,ATENDEST  
,ORDEMPRO  ,ORDEMPRO ORDEMPROORI  ,
   NECESPRO NECESPRO2  ,REFERENC REFERENC2  ,ESTRUTOP  ,OPERACOP  ,OPERAPRO  
,CELULAPD  ,CENTCUST  ,MAQUINAS  
     WHERE ( ORDEMPROMP.EMPRESA = :1 AND
  ORDEMPROMP.FILIAL = :2 AND
  ORDEMPROMP.CODIGO IN( 
0,1016,1018,1019,1021,1023,1024,1025,1026,1028,1029,1030,1032,1033,1034,1035,1038,1039,1040,1041,1042,1044,1087,1089,1090,1091,1092,1093,1094,1095,1096,1097,
1098,1099,1100,1101,1102,1104,1105,1106,1108,1109,1110,1111,1112,1114,1115,1118,1119,1120,1121,1122,1123,1125,1176,1177,1178,1179,1180,1181,1183,1184,1186,
1187,1189,1190,1191,1192,1193,1194,1195,1196,1198,1199,1201,1203,1204,1205,1207,1209,1210,1212,1213,1214,1215,1216,1217,1219,1220,1221,1224,1225,1227,1228,
1229,1232,1234,1236,1247,1248,1249)  ) AND
  ( ESTRUTOPMP.ORDEMPRODUCAO = ORDEMPROMP.ORDEMPRODUCAO )AND
  ( MATPRIOP.ESTRUTURA = ESTRUTOPMP.ESTRUTURA ) AND
  ( ATENDEST.MATERIAPRIMAOP = MATPRIOP.MATERIAPRIMAOP AND
  ATENDEST.QUANTIDADEPREVISTA > ATENDEST.QUANTIDADEATENDIDA ) AND
  ( ORDEMPRO.ORDEMPRODUCAO = ATENDEST.ORDEMPRODUCAO AND  ORDEMPRO.INDSITUACAO 
IN( 2,3,4) ) AND
  ( ORDEMPROORI.ORDEMPRODUCAO (+)= ORDEMPRO.OPORIGINAL ) AND
  ( NECESPRO2.NECESSIDADEPRO (+)= ORDEMPRO.NECESSIDADEPRO AND
  NECESPRO2.INDSITUACAO (+)<> 5 ) AND
  ( REFERENC2.REFERENCIA (+)= NECESPRO2.REFERENCIA ) AND
  ( ESTRUTOP.ORDEMPRODUCAO = ORDEMPRO.ORDEMPRODUCAO ) AND
  ( OPERACOP.ESTRUTURA = ESTRUTOP.ESTRUTURA AND
  ( ( OPERACOP.SITUACAO < 3) OR ( OPERACOP.SITUACAO IS NULL) )AND
  ( OPERAPRO.OPERACAO = OPERACOP.OPERACAO ) AND
  ( CELULAPD.CELULA = OPERACOP.CELULA ) AND
  ( CENTCUST.EMPRESA = CELULAPD.EMPCCUSTOS AND
  CENTCUST.FILIAL = CELULAPD.FILCCUSTOS AND
  CENTCUST.CENTROCUSTOS = CELULAPD.CENTROCUSTOS ) AND
  ( MAQUINAS.MAQUINA (+)= OPERACOP.MAQUINA ) ) 
ORDER BY 4,1,2,3


[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__________________________________________________________________
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a