GARANTIR DESCONTO

Fórum Devo usar o Like ou starting With ? #50251

02/04/2005

0

Na tela de vendas, o cliente digita as iniciais do produto, por exemplo BALA,
ai devo abrir a tela de consulta com todos os produtos com BALA

Estou usando da seguinte forma na clausula Where
Where P.BUSC_PROD LIKE ´BALA¬´

So que tabelas com muitos produtos demora um pouco... Eu ja criei o indice sobre o campo BUSC_PROD


Vi na internet o comando abaixo
Where P.BUSC_PROD starting with ´BALA´


Qual a melhor maneira? Qual vai trazer os resultados mais rapidamente?


Sistemp

Sistemp

Responder

Posts

03/04/2005

Joaoshi

Colega,

Tenho a impressão que se o campo a ser pesquisado tem um indice, as duas formas estão corretas (starting with ´BALA´ ou like ´BALA¬).

Faça um teste com IbExpert (Supondo ser FB ou Interbase).

Espero ter ajudado.


Responder

Gostei + 0

04/04/2005

Emerson Nascimento

se sua pesquisa for sempre pelo início, as duas maneiras irão funcionar da mesma forma.
o diferencial se dá se sua pesquisa puder ser feita por qualquer posição do conteúdo.

// para registros [i:3cc6417815]iniciados[/i:3cc6417815] com o conteúdo desejado
select *
from tabela
where campo like ´CONTEUDO¬´
ou
where campo starting with ´CONTEUDO´

// para registros que [i:3cc6417815]contenham[/i:3cc6417815] o conteúdo desejado
select *
from tabela
where campo like ´¬CONTEUDO¬´

// para registros que [i:3cc6417815]terminem[/i:3cc6417815] com o conteúdo desejado
select *
from tabela
where campo like ´¬CONTEUDO´

note que o like funciona para todos os casos, mudando apenas a posição do curinga (¬).


Responder

Gostei + 0

04/04/2005

Afarias

Existe uma grande --mas sutil-- diferença entre LIKE e STARTING WITH

Imagine q vc está fazendo uma consulta parametrizada:

select * from tabela
where campo like :param

bom, o otimizador do Interbase (ou FB) não tem como saber se o parâmetro vai receber ´A´, ´A¬´, ´¬A´ ou ´¬A¬´

sendo assim, consultas parametrizadas com LIKE *nunca* usam índice. Enquanto o STARTING [WITH] garante q a consulta *sempre* utilize um índice.


T+


Responder

Gostei + 0

04/04/2005

Rafael_iga

ta...
mas qual eh a melhor ?


Responder

Gostei + 0

04/04/2005

Beppe

ta... mas qual eh a melhor ?

:shock:

Well, STARTING WITH, sempre que puder ser usada.


Responder

Gostei + 0

05/04/2005

Afarias

:roll:


Responder

Gostei + 0

05/04/2005

Joaoshi

Obrigado pela ´sutil´ aula colegas. :wink:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar