[firebase-br] UNION vs OR
Kelver Merlotti
kmerlotti em gmail.com
Qui Jan 21 17:30:58 -03 2010
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
Mais detalhes sobre a lista de discussão lista