Obrigado, Euler! Vou analisar as 3 sugestões e ver qual a melhor se encaixa em nosso caso.
Em 2 de novembro de 2016 21:03, Euler Taveira <[email protected]> escreveu: > On 31-10-2016 15:59, Marcio Meneguzzi wrote: > > [Você perguntou no privado mas a sua dúvida pode servir para outros aqui] > > > select distinct data_itens from itens where codigo = 1 and > > data_itens between '01/01/2016' and '12/31/2016' order by data_itens > > > Você não mostrou a quantidade de registros mas como o outro colega > comentou, um índice em data_itens pode ajudar se a seletividade for boa > (note que 'Rows Removed by Filter' é alto). > > > O que estou fazendo de "errado" e como posso melhorar isto? > > > Sim. Mas é preciso trazer os dados do disco para a cache do PostgreSQL. > > Provavelmente você reiniciou o serviço ou o sistema operacional. No caso > do serviço, você perde a cache do postgres. No caso do sistema > operacional, você perde tanto a cache do postgres quanto a cache feita > pelo sistema operacional. > > A primeira execução vai ser lenta porque os dados estão no disco (os > dados precisam ir para cache do SO e cache do postgres). O postgres só > manipula dados que estão na sua cache; se eles não estão lá tem que ser > colocados lá (a partir da cache do SO, que é na memória, ou do disco). > > Você não informou a versão, mas o pg_prewarm [1] (>= 9.4) pode ajudar na > tarefa de popular a cache antes que o acesso ao sistema seja liberado. > Aliado a isso, você pode usar o pg_hibernator [2] para persistir a cache > do postgres se tiver que reiniciar o serviço ou mesmo o servidor. Uma > outra opção é o pgfincore [3] que lida somente com a cache do sistema > operacional. > > > [1] https://www.postgresql.org/docs/9.6/static/pgprewarm.html > [2] https://github.com/gurjeet/pg_hibernator > [3] https://github.com/klando/pgfincore > > > -- > Euler Taveira Timbira - http://www.timbira.com.br/ > PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
