[firebase-br] Dúvidas sobre índices
Marcelo
marcelo em magnosystem.com.br
Seg Jun 20 12:49:36 -03 2016
O firebird não usa índices quando a pesquisa é "CONTENDO O TEXTO" pois a
ocorrência do texto pode estar em qualquer parte do campo e portanto o
firebird tem que varrer todos os registros. Já quando a pesquisa é
"INICIANDO COM O TEXTO" o firebird usa o índice correspondente ao campo
pois ele só vai pesquisar na parte ordenada que o texto pode estar.
Em 20/06/2016 11:44, Cláudio Prudente (O2 Tecnologia) escreveu:
> Obrigado pela resposta Cantu. Não sabia que não cabiam índices para LIKE.
>
> Então mudando um pouco a pergunta mas mantendo o mesmo foco. Se ao
> invés de "LIKE" fosse utilizado "="?
>
>
> Em 20/06/2016 11:38, Carlos H. Cantu escreveu:
>> O Firebird não usa índices em pesquisas do tipo LIKE '%algumacoisa%'
>>
>> []s
>> Carlos H. Cantu
>> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
>> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>>
>> CP> Bom dia.
>>
>> CP> Eu vejo mensagens na lista com bancos de dados de 50gb, 400gb e
>> até mais
>> CP> e um dos meus clientes com um banco por volta de 20gb está bem
>> lento.
>> CP> Com certeza posso melhorar a performance com índices bem criados.
>>
>> CP> Eu li muita coisa na internet sobre isso e fiquei com algumas
>> dúvidas.
>>
>> CP> Vamos supor 2 selects.
>> CP> 1 - Select Nome, Cidade, Estado From Clientes
>> CP> where ( Nome like '%qualquer coisa%' )
>>
>> CP> Para esse exemplo acima eu criando um índice somente para o campo
>> Nome é
>> CP> o ideal correto?
>>
>> CP> Agora ao segundo caso.
>> CP> 2 - Select Nome, Cidade, Estado From Clientes
>> CP> where ( Nome like '%qualquer coisa' ) and ( Cidade = 'São
>> Paulo' )
>>
>> CP> Para esse exemplo eu já teria o índice por nome. Pelo que entendi
>> dos
>> CP> índices do firebird se eu tiver um índice para Cidade criado o
>> plan iria
>> CP> utilizar os 2 índices criados para me dar o retorno.
>> CP> O melhor a se fazer é criar somente o índice para Cidade ou mesmo
>> eu já
>> CP> tendo um índice para o Nome eu criaria um outro composto por Nome
>> e Cidade?
>>
>> CP> Nesse caso eu não usei order by. Estou pensando somente em
>> índices para
>> CP> where. Seria interessante criar índices para a ordenação?
>>
>> CP> Obrigado pessoal.
>>
>> CP> Cláudio
>>
>> CP> ______________________________________________
>> CP> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> CP> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> CP> http://www.firebase.com.br/fb/artigo.php?id=1107
>> CP> Para consultar mensagens antigas:
>> CP> http://www.firebase.com.br/pesquisa_lista.html
>>
>>
>> ______________________________________________
>> 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://www.firebase.com.br/pesquisa_lista.html
>>
>
>
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>
Mais detalhes sobre a lista de discussão lista