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
