Parametro

Firebird

22/01/2006

Olá,

tenho a seguinte SQL em uma query

select * from V_tabela
where codigo = :parametro


onde quase 100¬ das vezes colocarei um parametro paa que abra apenas um registro.

gostaria de saber se com esta SQL tem algum valor que eu pasasse para este parametro e me retornasse todos os registro?


Sistemald

Sistemald

Curtidas 0

Respostas

Raserafim

Raserafim

22/01/2006

se ao invés do sinal de = vc colocar um like e passar como parâmetro ¬ aí da certo.


GOSTEI 0
Sistemald

Sistemald

22/01/2006

blz, funcionou direitinho, muito bem pensado.


GOSTEI 0
Vinicius2k

Vinicius2k

22/01/2006

Porém, o LIKE vai tornar a consulta muito mais lenta, mesmo quando ela retornar apenas um registro. O operador LIKE faz com que nenhum índice seja utilizado na consulta.

Só uma dica...


GOSTEI 0
Sistemald

Sistemald

22/01/2006

Se não me engano like usa o indice sim, exceto quando você para o ´¬´ no inicio do texto caso contrario, ele utiliza o indice.


GOSTEI 0
Vinicius2k

Vinicius2k

22/01/2006

Colega,

Desde que o coringa ´¬´ não esteja no início e que [b:2ee7a0069d]não sejam utilizados parametros[/b:2ee7a0069d], o otimizador de consultas vai utilizar o índice, caso contrário, não. ;)

Se o que você pretende é passar o coringa no final do parametro, é mais eficiente utilizar [b:2ee7a0069d]STARTING WITH :parametro[/b:2ee7a0069d].

T+


GOSTEI 0
POSTAR