[firebase-br] UNION vs OR
Douglas Silva
forum_firebird em daunebr.com
Qui Jan 21 17:47:30 -03 2010
Notar que usando o UNION vc podera trazer o mesmo registro duas vezes e queira ou nao, vc ira fazer 2 varreduras no UNION.
________________________________
From: Kelver Merlotti <kmerlotti em gmail.com>
To: FireBase <lista em firebase.com.br>
Sent: Thu, January 21, 2010 5:30:58 PM
Subject: [firebase-br] UNION vs OR
Fala galera, boa tarde! Gostaria da opinião de vocês, fundamentada com
seus "porquês" :-)
Pensando em uma tabela com muitos registros e com os campos NOME e
APELIDO, cada um com seu índice:
select * from tabela where
nome like 'KEL%' OR apelido like 'KEL%'
isso percorrerá a tabela inteira (full scan), retornando apenas uma
pequena quantidade de registros.
agora:
select * from tabela where nome like 'KEL%'
UNION
select * from tabela where apelido like 'KEL%'
Isso executará dois selects, porém, cada um percorrendo muito menos
registros, por estarem indexados.
Eis que surge a pergunta: qual a melhor opção?
Pelos testes que fiz, nem sempre o retorno ficou mais rápido usando o UNION.
Grande abraço!
Kelver Merlotti
Coordenador Editorial do Portal www.ActiveDelphi.com.br
Contato: kelver em activedelphi.com.br
Google: kmerlotti em gmail.com
Twitter: http://twitter.com/kmerlotti
Tem um segundo? Então, dá uma olhadinha nisso:
Um site de publicidades, de Portugal, está pagando em euros (quase 3x
mais que em reais) pra quem estiver disposto a:
* Ler anúncios
* Visitar sites
* Clicar em banners
* Navegar na NET
* Ler e-mails
* Convidar novos usuários
O pagamento pode ser feito de várias formas!
Registra lá. Não custa nada!!! ;-)
http://www.publipt.com/pages/index.php?refid=kmerlotti
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista