[firebase-br] Posição de campos em indices

Sandro Souza escovadordebits em gmail.com
Qua Jul 1 10:21:12 -03 2009


Bom dia/tarde Jonas.

Grande Jonas, que eu saiba, se você criar um índice com N campos, e utilizar
esses mesmos N campos nas condições de sua consulta, "a ordem dos tratores
não alterará o viaduto", ou seja, não interferirá no desempenho.

Por exemplo, se você criar um índice para os campos A, B e C, nessa ordem,
não haverá diferença de performance se você utilizar condições como as
seguintes:

.....WHERE.....(A = ....) AND (B = ....) AND (C = .....) ....
.....WHERE.....(A = ....) AND (C = ....) AND (B = .....) ....
.....WHERE.....(B = ....) AND (A = ....) AND (C = .....) ....
.....WHERE.....(C = ....) AND (B = ....) AND (A = .....) ....

E quaisquer outra combinação. Mas haverá diferença, sem dúvida alguma, caso
você não utilize os primeiros campos desse índice, ou seja, o índice só será
utilizado caso você consulte pelos primeiros campos que o formam ou por
todos eles.

Se você filtrar por campos que formam esse índice, mas que não sejam os
primeiros (por exemplo: por B e C ou somente por B ou somente por C) então o
índice não será utilizado.

Espero ter ajudado mais que atrapalhado. :D

2009/7/1 Jonas <jonas em hos.com.br>

> Olá pessoal..
>
> estou com uma duvida que, pelo menos eu, nao consegui axar uma resposta
> concreta na internet..
>
> Quando eu crio um indice, digamos que com os campos (Campo1,Campo2) a ordem
> com que eu crio este indice, Ex: (Campo2,Campo1) influencia em possiveis
> perda de desempenho ou algo , ou nao interfere?
>
> Obrigado!
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista