Senhores, vou ter de pedir desculpas à todos. Eu tinha um conceito
equivocado em mente.

Eu lembrei de onde tirei este conceito equivocado, foi de um livro de tuning
para Oracle, o
http://techbus.safaribooksonline.com/book/databases/oracle/9780072263053. Eu
já tinha me equivocado antes com um problema com extents do Oracle e o
Chiapa (da lista oracle_br) já havia me alertado deste livro. Infelizmente
não estou com o PDF do livro aqui para citar a passagem.

De qualquer forma, fica a lição: testar, testar testar... já retirei o
artigo do ar.

[]s




Em 28 de junho de 2011 15:13, Shander Lyrio <[email protected]>escreveu:

> Em 28/06/2011 13:36, Fábio Telles Rodriguez escreveu:
> >     Índices devem primar pela "seletividade", portanto campos com maior
> >     variação
> >     devem figurar primeiro na lista de campos do índice para que cada
> >     filtro traga o menor número possível de registros, favorecendo assim
> a
> >     utilidade e o uso do índice.
> >
> > Ok, aceito a crítica. Mas você tem algum link que indica isso?
>
>         Pesquisando no google por: "index column order matter" você
> encontra
> centenas. Desde a própria wikipedia até inúmeros posts em vários blogs e
> várias respostas da lista postgresql-performance.
>
>        Eu sempre trabalhei pensando exatamente o contrário do que você pôs
> em
> seu post no blog e consoante ao que o Hasse comentou, acreditando
> unicamente nos meus testes.
>
>        Tenho uma tabela como você citou em seu texto. que relaciona
> entregas e
> listas. Eu tenho cerca de 35 milhões de entregas, e cerca de 3 milhões
> de listas e uma relação N para N entre as duas.
>
>        Eu crio dois índices compostos nesta tabela com os campos
> [codentrega,codlista], respectivas chaves primárias das tabelas entregas
> e listas, um com o campo codentrega primeiro e outro índice com o campo
> codlista primeiro.
>
>        Uma consulta do tipo "explain select * from listas_detalhe where
> codlista = 1165774 and codentrega = 9010356583" vai informar que está
> sendo usado sempre o índice onde o primeiro campo tem a maior
> seletividade, no caso o campo codentrega. Se seu pensamento estiver
> certo, o postgresql está escolhendo o pior índice?
>
>        Abraço,
>
> --
> Shander Lyrio
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http://www.midstorm.org/~telles/
e-mail / gtalk / MSN: [email protected]
Skype: fabio_telles
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a