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

Sandro Souza escovadordebits em gmail.com
Sex Jul 3 09:43:42 -03 2009


Bom dia/tarde Eduardo

Grande Eduardo, enviei um email pouco depois onde eu informei que realmente
eu esqueci de criar o tal índice, como você bem lembrou agora.

Agradeço muito pela ajuda, e peço que sempre faça isso quando encontrar
algum erro nos meus posts.

Muito obrigado amigo. :D

2009/7/1 Eduardo Jedliczka <jedyfb em gmail.com>

> neste seu exemplo não há indice para ser usado... (cadê o comando CREATE
> INDEX ou ALTER TABLE ADD CONSTRAINT ?)
>
> SE o índice é composto pelos campo A, B e C (nesta ordem) tanto faz se a
> where está C,B,A, ou B,A, A,C,B... etc...
>
> mas se não tiver o campo A ele NÃO vai usar índice.
>
> Abraço
>
> Em Qua, 2009-07-01 às 12:14 -0300, Sandro Souza escreveu:
>
> > Bom dia/tarde Jonas.
> >
> > Grande Jonas, realmente fui eu que cometi o engano.
> >
> > Eu executei os seguintes passos:
> >
> > CREATE TABLE TESTE(A INTEGER NOT NULL, B INTEGER NOT NULL, C INTEGER NOT
> > NULL);
> > COMMIT;
> >
> > INSERT INTO TESTE VALUES(1,2,3);
> > COMMIT;
> >
> > SELECT * FROM TESTE WHERE(C = 3)AND(B = 2)AND(A = 1);
> >
> > E quando verifiquei o PLAN deu "PLAN (TESTE NATURAL)", ou seja, como
> nosso
> > amigo Douglas Tosi nos informou, a ordem de consulta realmente influencia
> na
> > escolha do índice.
> >
> > Minha humilde opinião é que o otimizador de plano deveria ser melhorado
> para
> > perceber que, independente dessa ordem, todos os campos do índice estão
> ali,
> > e ainda mais com valores fixos p/ facilitar mais ainda.
> >
> > Realmente eu imaginei que o otimizador de plano já era inteligente nesse
> > ponto. É uma pena. Mas foi muito proveitosa essa situação para aprender
> mais
> > um pouco.
> >
> > Muito obrigado a todos, e especialmente ao Douglas Tosi que nos
> esclareceu.
> >
> > 2009/7/1 Jonas <jonas em hos.com.br>
> >
> > > certo.. pelo que pude verificar pelo 'plan' a ordem influencia msmo,
> muito
> > > obrigado a todos!
> > >
> > > ----- Mensagem original -----
> > > De: samuel ferreira <samuel.peres.ferreira em gmail.com>
> > > Para: FireBase <lista em firebase.com.br>
> > > Enviadas: Wed, 1 Jul 2009 11:11:47 -0300 (BRT)
> > > Assunto: Re: [firebase-br] Posição de campos em indices
> > >
> > > ola
> > >
> > > o indice e formado pelos campos a, b, c
> > >
> > >
> > > ele sempre vai ser utilizado se no where tiver o 'a', ou 'a b' ou 'a b
> c'
> > >
> > > se vc fizer um where SOMENTE com 'b' ou 'c' nao vai ser utilizado.
> > >
> > > pelo menos, na minha concepcao e pelo q tenho visto,mas vc pode usar um
> > > 'plan' e verificar
> > >
> > >
> > > como diz um colega ai da lista, espero ter ajudado mais do q
> atrapalhado
> > >
> > >
> > > samuel
> > > ______________________________________________
> > > 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
> > >
> > >
> > > ______________________________________________
> > > 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
> > >
> > ______________________________________________
> > 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
> ______________________________________________
> 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