RES: [oracle_br] UNION

2008-11-25 Por tôpico Carlos martello
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

2008-11-25 Por tôpico Carlos martello
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

2008-11-25 Por tôpico Sérgio Rodrigues
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]