PauloTI 0 Denunciar post Postado Janeiro 25, 2013 Meu, alguém me consegue dar performance nesta query? SELECT M.* FROM PEDAGIO.TMVCCPD1 M WHERE M.MVC_TIPLAN = 0 -- DEBITO AND M.MVC_NUMFAT <> 0 AND M.MVC_DATA BETWEEN TO_DATE ('30/12/2012 15:00:17', 'DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('01/01/2013 13:00:17','DD/MM/YYYY HH24:MI:SS') --AND M.MVC_CLIENTE = 289857 AND M.MVC_TIPO = 3 -- PASSAQEM AND NOT EXISTS ( SELECT 1 FROM PEDAGIO.TFATPD03 IPAS , TFATPD01 H WHERE IPAS.FAT3_CONTRATO = M.MVC_CONTRATO AND IPAS.FAT3_NUMERO = M.MVC_NUMFAT AND IPAS.FAT3_CODIGO = M.MVC_CODIGO AND IPAS.FAT3_SEQ = M.MVC_SEQ AND IPAS.FAT3_VALPAS = M.MVC_VALOR AND H.FAT_NUMERO = IPAS.FAT3_NUMERO AND H.FAT_CLIENTE = M.MVC_CLIENTE); valeu Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 28, 2013 Alguns programas como o SqlDeveloper já tem a chamada do Explain Plain. Via SqlPlus basta seguir alguns passos. A otimização depende de uma série de fatores, tipo se as estatísticas estão recentes, volume de dados, índices etc. Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Janeiro 29, 2013 Alguns programas como o SqlDeveloper já tem a chamada do Explain Plain. Via SqlPlus basta seguir alguns passos. A otimização depende de uma série de fatores, tipo se as estatísticas estão recentes, volume de dados, índices etc. Pois então motta aqui no trabalho só disponibilizado o "Toad" e eu já estou usando INDEX.. mas meu.. da 36 minutos com a query rodando.. e simplesmente mostra está seguinte mensagem... " ORA-01652: não é possível estender o segmento temp. em 128 no tablespace TS_TEMP " Alguma ideia Help... ? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 29, 2013 O Toad deve ter a opção de mostrar o plano de execução. O 1º passo é ver se a query pode ser melhorada, não é muito simples mas também não é o fim-do-mundo. Sabe se as estatísticas estão atualizadas ? A table space TEMP pode estar mal configurada, tendo um serviço de DBA peça a ele para rever esta configuração. -- Mas existem queries que face o negócio,volume etc são realmente demoradas, existem estratégias para tratar estas queries como gerar tabelas consolidadas, views materializadas etc. Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Fevereiro 1, 2013 O Toad deve ter a opção de mostrar o plano de execução. O 1º passo é ver se a query pode ser melhorada, não é muito simples mas também não é o fim-do-mundo. Sabe se as estatísticas estão atualizadas ? A table space TEMP pode estar mal configurada, tendo um serviço de DBA peça a ele para rever esta configuração. -- Mas existem queries que face o negócio,volume etc são realmente demoradas, existem estratégias para tratar estas queries como gerar tabelas consolidadas, views materializadas etc. Obrigado motta.. fui pela linha de melhorar a Query.. Apenas fiz a seguinte alteração SELECT M.* FROM PEDAGIO.TMVCCPD1 M ( e a coloquei aqui ) (TFATPD01 H) WHERE M.MVC_TIPLAN = 0 -- DEBITO e adicionei o JOIN AQUI ( AND H.FAT_CLIENTE = M.MVC_CLIENTE ) AND M.MVC_NUMFAT <> 0 AND M.MVC_DATA BETWEEN TO_DATE ('30/12/2012 15:00:17', 'DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('01/01/2013 13:00:17','DD/MM/YYYY HH24:MI:SS') --AND M.MVC_CLIENTE = 289857 AND M.MVC_TIPO = 3 -- PASSAQEM AND NOT EXISTS ( SELECT 1 FROM PEDAGIO.TFATPD03 IPAS , (TFATPD01 H) retirei está tabela daqui.. WHERE IPAS.FAT3_CONTRATO = M.MVC_CONTRATO AND IPAS.FAT3_NUMERO = M.MVC_NUMFAT AND IPAS.FAT3_CODIGO = M.MVC_CODIGO AND IPAS.FAT3_SEQ = M.MVC_SEQ AND IPAS.FAT3_VALPAS = M.MVC_VALOR AND H.FAT_NUMERO = IPAS.FAT3_NUMERO AND H.FAT_CLIENTE = M.MVC_CLIENTE); ( retirei este JOIN daqui ) Ele ficou da seguinte forma.. SELECT M.* FROM PEDAGIO.TMVCCPD1 M, TFATPD01 H WHERE M.MVC_TIPLAN = 0 -- DEBITO AND H.FAT_CLIENTE = M.MVC_CLIENTE --AND M.MVC_NUMFAT <> 0 AND M.MVC_TIPO = 3 -- PASSAQEM AND ROWNUM < 100000 AND NOT EXISTS ( SELECT 1 FROM PEDAGIO.TFATPD03 IPAS WHERE IPAS.FAT3_CONTRATO = M.MVC_CONTRATO AND IPAS.FAT3_NUMERO = M.MVC_NUMFAT AND IPAS.FAT3_CODIGO = M.MVC_CODIGO AND IPAS.FAT3_SEQ = M.MVC_SEQ AND IPAS.FAT3_VALPAS = M.MVC_VALOR AND H.FAT_NUMERO = IPAS.FAT3_NUMERO); porém o erro de " ORA-01652: não é possível estender o segmento temp. em 128 no tablespace TS_TEMP " Continua.. porém isso só se resolve com um DBA segundo amigos meus Analistas de Sistema.. Obrigado pelo Suporte motta. att. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 1, 2013 porém o erro de " ORA-01652: não é possível estender o segmento temp. em 128 no tablespace TS_TEMP " Continua.. porém isso só se resolve com um DBA segundo amigos meus Analistas de Sistema.. Vc pode extender o tamanho da TS por ALTER ou pelo TOAD mesmo (creio), basta ter os grants devidos, mas estas configurações devem ser feitas por alguém experiente. Trabalhando à noite e tomando um erro destes a gente joga a Ts para unlimited e manda um email para o DBA ver no dia seguinte. Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Fevereiro 7, 2013 Vc pode extender o tamanho da TS por ALTER ou pelo TOAD mesmo (creio), basta ter os grants devidos, mas estas configurações devem ser feitas por alguém experiente. Trabalhando à noite e tomando um erro destes a gente joga a Ts para unlimited e manda um email para o DBA ver no dia seguinte. Haa Motta.. quem dera que tivesse um mundo perfeito aqui viu, é a base de dados do caras/cliente, então a gente tem que se virar com o que que tem, até o nosso DBA replicar o banco deles.. e pra piorar, o nosso DBA é " DBA DE SERVER " e ta meio que forçando a aprendizagem do Oracle, fazendo cursos e tentando aprender com uma DBA oracle aqui.. Projeto aqui ta o bicho MOTTA KKKK.. Enfim.. valeu pela ajuda novamente. att. Compartilhar este post Link para o post Compartilhar em outros sites