2009/5/28 José Augusto de Lima Pereira <[email protected]>:
>
>>José Augusto de Lima Pereira escreveu:
>> Esse é o resultado do explain verbose.
>>
>>EXPLAIN ANALYZE por favor.
> Coloquei para rodar um EXPLAIN ANALYZE as 9:00 e está rodando ainda (11:30),
> assim que tiver o resultado eu envio aqui.
>
>>As definições de índices e tabelas envolvidas também ajudariam.
> É apenas uma tabela, para testes coloquei apenas 50 milhões de linhas, mas o
> total dela será de 365 milhões (1 milhão de linha por dia)
> Já fizemos vários testes de índices aqui, e a ultima tentativa (que está
> agora, é um índice para cada uma das colunas que está no group by que é
> feito nessa tabela.)
>
> Para ficar mais fácil de entender essa tabela, ela me diz todas as
> movimentações que foram feitas (saiu de A e depois de x tempo foi pra B,
> saiu de B e depois de x tempo foi pra A).
> Esses dados vem de um arquivo texto, então para diminuir a quantidade de
> registro em uma tabela que eu realmente vou trabalhar( fazer varias
> comparações para obter alguns ID´s) faço uma agrupamento nessa tabela. Esse
> agrupamento com 50 milhões de linhas, sem índice, demora mais de 5 dias e
> quando eu tento rodar essa consulta com índice, se for a cada 400.000
> registro, é feita em milisegungos, se for 410.000 demora 2 horas, só que o
> agrupamento que eu preciso, tem que suportar pelo menos 1 milhão de linhas
> (que são meus lançamentos do dia)
>
>> O PostgreSQL talvez esteja preferindo um _seqscan_ ao invés de um
> _indexscan_ porque ele está consultando boa parte de sua tabela?
> A consulta é feita sobre todos os dados dessa tabela. É um group by, que não
> possuir WHERE, esse group by é feito para diminuir a quantidade de linhas em
> uma outra tabela (geralmente cai num fator de 10/1)
>

Se não possui a cláusula WHERE então vai considerar todos os
registros. Neste caso um seqscan é *sempre* mais eficiente que um
indexscan qualquer que seja o índice.


>> O shared_buffers não é o total de memória que meu postgres vai utilizar?
>> Sempre vi falar em usar, 70% da memória total.
>>
>>*Não*. Vide algumas de minhas palestras [1] e artigos de alguns colegas [2]
> sobre o assunto.
> Vou ler esses artigos, e tentar fazer algumas alterações em minhas
> configurações. Muito obrigado
>>[1] http://www.timbira.com/docs.php
>>[2] http://wiki.postgresql.org/wiki/Portugu%C3%AAs
>

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a