[firebase-br] OR ou IN

Tecnobyte Informática temp2 em tecnobyte.com.br
Ter Mar 15 09:16:08 -03 2011


Bom dia

Não tenho dados concretos para informar, mas acredito que:

WHERE Campo IN (A, B, C, ...)

é interpretado pelo Firebird exatamente como:

WHERE Campo = A or Campo = B or Campo = B or ...

Portanto não deve haver diferença significativa entre uma opção ou outra. 
Entretanto a primeira sentença terá um código SQL mais reduzido e portanto 
poderá haver pequenos ganhos de performance na rede quando for comparar 
muitos valores.

DICA! Para melhor desempenho o campo em questão deve ter índice, 
independentemente de usar IN ou OR na comparação.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br


----- Original Message ----- 
From: "Hélio Oliveira" <hpensador em gmail.com>
To: <lista em firebase.com.br>
Sent: Monday, March 14, 2011 8:03 PM
Subject: [firebase-br] OR ou IN


Boa noite Colegas!

Tenho uma aplicação onde nas telas de relatórios o cliente pode
selecionar um ou n-valores para varios campos que irão compor a
consulta. Fazendo alguns testes não vi muita diferença nos tempos de
execução. Logo, pergunto ao nobres colegas existem
vantagens/desvantagens na utilização do OR/IN? quais e quando devemos
usar um ou outro?


-- 
[]'s,

Hélio Oliveira
Bel. Ciência da Computação
Técnico em Contabilidade
e-mail : hpensador em gmail.com
Skype : hpensador
http://hpensador.blogspot.com/
www.hpensador.net
(71) 9975-9176





Mais detalhes sobre a lista de discussão lista