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