Bom dia, Envia um Explain Plan para se perceber melhor o que está a acontecer.
Fazer tunning de uma query, sem saber o seu tempo de execução, sem conhecer as tabelas, a quantidade de dados, a existência ou não de indíces, de chaves primárias /estrangeiras etc é duro! Tunning não é magia (ás vezes parece) , mas não podes chegar aqui , mostrar a tua query e dizer ..."senhores está lenta ... preciso de umas dicas"... não tem resolução universal .. embora a gente te possa dar uma dicas ... Por exemplo: Existe um indíce sobre ordempromp.codigo ? As colunas sobre as quais se faz JOIN estão indexadas ? (não é obrigatório) Outra coisa ... qual é a sua versõa da base de dados ? como está o teu optimizer_mode ? as estatistícas estão a ser recolhidas ?? Um abraço Rui Madaleno -----Original Message----- From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of Romeu Sent: quarta-feira, 16 de Agosto de 2006 20:35 To: ORACLE; [EMAIL PROTECTED] Subject: [oracle_br] Query lenta Senhores, mais uma vez, volto com a mesma query com algumas mudanças, se tiver alguma sugestão sera muito bem vinda.Já procurei alguma documentação sobre tunning de Query mas não tive muita informação . Des de já muito obrigado a todos. 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,requserv,itrequis,itorccom,pedicomp, pessoafj WHERE(ordempromp.empresa = 1 AND ordempromp.filial = 0 AND (ordempromp.codigo = 0 OR ordempromp.codigo = 1016 OR ordempromp.codigo = 1018 OR ordempromp.codigo = 1019 OR ordempromp.codigo = 1021 OR ordempromp.codigo = 1023 OR ordempromp.codigo = 1024 OR ordempromp.codigo = 1025 OR ordempromp.codigo = 1026 OR ordempromp.codigo = 1028 OR ordempromp.codigo = 1029 OR ordempromp.codigo = 1030 OR ordempromp.codigo = 1032 OR ordempromp.codigo = 1033 OR ordempromp.codigo = 1034 OR ordempromp.codigo = 1035 OR ordempromp.codigo = 1038 OR ordempromp.codigo = 1039 OR ordempromp.codigo = 1040 OR ordempromp.codigo = 1041 OR ordempromp.codigo = 1042 OR ordempromp.codigo = 1044 OR ordempromp.codigo = 1087 OR ordempromp.codigo = 1089 OR ordempromp.codigo = 1090 OR ordempromp.codigo = 1091 OR ordempromp.codigo = 1092 OR ordempromp.codigo = 1093 OR ordempromp.codigo = 1094 OR ordempromp.codigo = 1095 OR ordempromp.codigo = 1096 OR ordempromp.codigo = 1097 OR ordempromp.codigo = 1098 OR ordempromp.codigo = 1099 OR ordempromp.codigo = 1100 OR ordempromp.codigo = 1101 OR ordempromp.codigo = 1102 OR ordempromp.codigo = 1104 OR ordempromp.codigo = 1105 OR ordempromp.codigo = 1106 OR ordempromp.codigo = 1108 OR ordempromp.codigo = 1109 OR ordempromp.codigo = 1110 OR ordempromp.codigo = 1111 OR ordempromp.codigo = 1112 OR ordempromp.codigo = 1114 OR ordempromp.codigo = 1115 OR ordempromp.codigo = 1118 OR ordempromp.codigo = 1119 OR ordempromp.codigo = 1120 OR ordempromp.codigo = 1121 OR ordempromp.codigo = 1122 OR ordempromp.codigo = 1123 OR ordempromp.codigo = 1125 OR ordempromp.codigo = 1176 OR ordempromp.codigo = 1177 OR ordempromp.codigo = 1178 OR ordempromp.codigo = 1179 OR ordempromp.codigo = 1180 OR ordempromp.codigo = 1181 OR ordempromp.codigo = 1183 OR ordempromp.codigo = 1184 OR ordempromp.codigo = 1186 OR ordempromp.codigo = 1187 OR ordempromp.codigo = 1189 OR ordempromp.codigo = 1190 OR ordempromp.codigo = 1191 OR ordempromp.codigo = 1192 OR ordempromp.codigo = 1193 OR ordempromp.codigo = 1194 OR ordempromp.codigo = 1195 OR ordempromp.codigo = 1196 OR ordempromp.codigo = 1198 OR ordempromp.codigo = 1199 OR ordempromp.codigo = 1201 OR ordempromp.codigo = 1203 OR ordempromp.codigo = 1204 OR ordempromp.codigo = 1205 OR ordempromp.codigo = 1207 OR ordempromp.codigo = 1209 OR ordempromp.codigo = 1210 OR ordempromp.codigo = 1212 OR ordempromp.codigo = 1213 OR ordempromp.codigo = 1214 OR ordempromp.codigo = 1215 OR ordempromp.codigo = 1216 OR ordempromp.codigo = 1217 OR ordempromp.codigo = 1219 OR ordempromp.codigo = 1220 OR ordempromp.codigo = 1221 OR ordempromp.codigo = 1224 OR ordempromp.codigo = 1225 OR ordempromp.codigo = 1227 OR ordempromp.codigo = 1228 OR ordempromp.codigo = 1229 OR ordempromp.codigo = 1232 OR ordempromp.codigo = 1234 OR ordempromp.codigo = 1236 OR ordempromp.codigo = 1247 OR ordempromp.codigo = 1248 OR ordempromp.codigo = 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 = 3 OR ORDEMPRO.INDSITUACAO = 4) ) ) 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 ( REFERENC2.REFERENCIA (+)= NECESPRO2.REFERENCIA ) ) AND ( ORDEMPROORI.ORDEMPRODUCAO (+)= ORDEMPRO.OPORIGINAL ) ) AND ( NECESPRO2.NECESSIDADEPRO (+)= ORDEMPRO.NECESSIDADEPRO AND (NECESPRO2.INDSITUACAO >5 or NECESPRO2.INDSITUACAO <5) ) ) AND ( MAQUINAS.MAQUINA (+)= OPERACOP.MAQUINA ) ) AND ( REQUSERV.OPERACAOOP (+)= OPERACOP.OPERACAOOP ) ) AND ( ITREQUIS.EMPRESA (+)= REQUSERV.EMPREQUISICAO AND ITREQUIS.FILIAL (+)= REQUSERV.FILREQUISICAO AND ITREQUIS.REQUISICAO (+)= REQUSERV.REQUISICAO AND ITREQUIS.SEQPRODUTO (+)= REQUSERV.ITEMREQUISICAO ) ) AND ( ITORCCOM.EMPRESA (+)= ITREQUIS.EMPRESA AND ITORCCOM.FILIAL (+)= ITREQUIS.FILIAL AND ITORCCOM.AUXREQUISICAO (+)= ITREQUIS.REQUISICAO AND ITORCCOM.AUXSEQITEMREQ (+)= ITREQUIS.SEQPRODUTO AND ITORCCOM.PRODUTO (+)= ITREQUIS.PRODUTO ) ) AND ( PEDICOMP.EMPRESA (+)= ITORCCOM.EMPRESA AND PEDICOMP.FILIAL (+)= ITORCCOM.FILIAL AND PEDICOMP.PEDIDOCOMPRA (+)= ITORCCOM.PEDIDOCOMPRA AND PEDICOMP.LETRACOMPRA (+)= ITORCCOM.LETRACOMPRA ) ) AND ( PESSOAFJ.PESSOA (+)= PEDICOMP.PESSOA AND PESSOAFJ.EMPRESA (+)= PEDICOMP.EMPPESSOA AND PESSOAFJ.FILIAL (+)= PEDICOMP.FILPESSOA ) ) 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 -------------------------------------------------------------------------------------------------------------------------- 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