RES: [oracle_br] UNION
Napoleão, o problema não necessariamente está no UNION. É lógico que vai demorar mais usando ele, mas não se esqueça que o fetch do programa que você utiliza para executar a query não realiza o select por inteiro. Por exemplo, no TOAD o fetch default é de 500 linhas. o que reduz o tempo de execução da query. Ou seja, isso vai depender da quantidade de linhas das tabelas. Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Napoleão Cristiano X. Sanabia Enviada em: terça-feira, 25 de novembro de 2008 16:35 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] UNION Amigos, Eu estou executando uma query num banco e o resultado aparece em menos de 3 segundos. Até aí normal. Acontece que dependendo de uma determinada situação, essa query realiza um UNION com uma outra tabela. Quando esse UNION ocorre o resultado é exibido após uns 3 minutos, ou seja, o problema está no UNION. Se eu rodar as 2 querys separadas, até mesmo nessa outra tabela, não há nenhum problema, mas se colocar o UNION já era. O que vocês sugerem. Segue a query abaixo: SELECT DISTINCT TV.VAGA, TV.TIPO_VAGA FROM TIPO_VAGA TV WHERE TV.ANO = 2008 UNION SELECT * FROM TV_TMP Qual seria a solução para eu obter o mesmo resultado sem usar o UNION? Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] UNION
Desculpem pessoal, a mensagem saiu cortada. José, o union all é mais rápido pelo fato de ele juntar todos os registros de uma query com a outra. já o union puro e simples executa uma interseção dos dados, evitando assim que caso existam linhas iguais nas 2 tabelas elas sejam suprimidas em uma. Napoleão verifique essa possibilidade de conter dados iguais nas tabelas utilizados e caso isso nunca aconteça ou não tenha impacto para você, pode utilizar o union all sem problemas. Abraços, Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: [EMAIL PROTECTED] De: Carlos martello Enviada em: terça-feira, 25 de novembro de 2008 17:52 Para: 'oracle_br@yahoogrupos.com.br' Assunto: RES: [SPAM]:[oracle_br] UNION Prioridade: Alta José, o union all é mais rápido pelo fato de ele juntar todos os registros de uma query com a outra. já o union puro e simples executa uma interseção dos dados Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Jose C Carvalho Enviada em: terça-feira, 25 de novembro de 2008 17:44 Para: oracle_br@yahoogrupos.com.br Cc: oracle_br@yahoogrupos.com.br Assunto: Re: [SPAM]:[oracle_br] UNION Cara testa com UNION ALL .. sei que ele é mais rápido .. Sds JOSÉ CARLITOS CARVALHO JÚNIOR Administrador de Banco de Dados PST Eletrônica S/A (+55 (19) 3787-6418 Ê+55 (19) 3787-6238 / [EMAIL PROTECTED] mailto:jccarvalho%40pst.com.br web:http://www.pst.com.br web:http://www.positron.com.br (Embedded image moved to file: pic15141.jpg) From: Napoleão Cristiano X. Sanabia [EMAIL PROTECTED] mailto:cristiano_sanabia%40yahoo.com.br To: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Date: 25/11/2008 17:36 Subject: [SPAM]:[oracle_br] UNION Amigos, Eu estou executando uma query num banco e o resultado aparece em menos de 3 segundos. Até aí normal. Acontece que dependendo de uma determinada situação, essa query realiza um UNION com uma outra tabela. Quando esse UNION ocorre o resultado é exibido após uns 3 minutos, ou seja, o problema está no UNION. Se eu rodar as 2 querys separadas, até mesmo nessa outra tabela, não há nenhum problema, mas se colocar o UNION já era. O que vocês sugerem. Segue a query abaixo: SELECT DISTINCT TV.VAGA, TV.TIPO_VAGA FROM TIPO_VAGA TV WHERE TV.ANO = 2008 UNION SELECT * FROM TV_TMP Qual seria a solução para eu obter o mesmo resultado sem usar o UNION? Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] UNION
Cara, tenta utilizar o UNION ALL, isso claro se não houver problema de duplicidade de linhas entre as queries. Abraço, Sérgio Rodrigues _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Carlos martello Enviada em: terça-feira, 25 de novembro de 2008 18:53 Para: oracle_br@yahoogrupos.com.br Assunto: RES: [oracle_br] UNION Prioridade: Alta Napoleão, o problema não necessariamente está no UNION. É lógico que vai demorar mais usando ele, mas não se esqueça que o fetch do programa que você utiliza para executar a query não realiza o select por inteiro. Por exemplo, no TOAD o fetch default é de 500 linhas. o que reduz o tempo de execução da query. Ou seja, isso vai depender da quantidade de linhas das tabelas. Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: carlosmartello@ mailto:carlosmartello%40choice.com.br choice.com.br De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br] Em nome de Napoleão Cristiano X. Sanabia Enviada em: terça-feira, 25 de novembro de 2008 16:35 Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br Assunto: [oracle_br] UNION Amigos, Eu estou executando uma query num banco e o resultado aparece em menos de 3 segundos. Até aí normal. Acontece que dependendo de uma determinada situação, essa query realiza um UNION com uma outra tabela. Quando esse UNION ocorre o resultado é exibido após uns 3 minutos, ou seja, o problema está no UNION. Se eu rodar as 2 querys separadas, até mesmo nessa outra tabela, não há nenhum problema, mas se colocar o UNION já era. O que vocês sugerem. Segue a query abaixo: SELECT DISTINCT TV.VAGA, TV.TIPO_VAGA FROM TIPO_VAGA TV WHERE TV.ANO = 2008 UNION SELECT * FROM TV_TMP Qual seria a solução para eu obter o mesmo resultado sem usar o UNION? Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbusca http://br.maisbuscados.yahoo.com dos.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]