Na query, clausula where 

 " and DtMovto between '01/01/2008' and '31/08/2008' "

Se o campo DtMovto for date e não varchar, melhora a performance voce fazer
cast:

" and DtMovto between '01/01/2008'::date and '31/08/2008'::date "

Abr,
Guilherme Vianna



-----Mensagem original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Em nome de Rodrigo
Monteiro
Enviada em: quinta-feira, 25 de setembro de 2008 16:55
Para: Comunidade PostgreSQL Brasileira    
Assunto: Re: [pgbr-geral] Banco de dados cresce 1,3GB por mês

Pessoal, procurei no servidor(Suse) pelo arquivo postgresql.conf e só achei
um postgresql.conf.sample em /usr/share/postgresql/postgresql/

Pergunta 1: Se só tem este quer dizer que o Postgres está trabalhando com as
configuracoes padrão?
Pergunta 2: Para um servidor com 8GB de ram, o que eu tenho que mudar neste
arquivo?
Pergunta 3: fazendo as modificações e mudando o nome deste arquivo para
postgresql.conf dependerei de mais alguma modificação?



Obrigado pessoal!





Thu, 25 Sep 2008 14:22:56 -0300, "Rodrigo Monteiro"  escreveu:> > > boa
tarde a todos > 
Acredito que o tempo de resposta do sql que postarei abaixo esta acima do
normal (em testes comparativos com Sql Server e Oracle) > 
> 
> 
abaixo a estrutura de uma tabela com a leitura das vendas de uma empresa > 
============================================================================
==== > 
CREATE TABLE leitura_estoque > 
( > 
codregistro numeric(4) NOT NULL, > 
codemitente numeric(4) NOT NULL, > 
codestabelec numeric(4) NOT NULL, > 
codproduto numeric(7) NOT NULL, > 
documento varchar(20) NOT NULL, > 
codtpdocto varchar(10) NOT NULL, > 
numitem numeric(3), > 
guiche numeric(3), > 
equipamento numeric(4), > 
dtmovto date, > 
quantidade numeric(15,4) NOT NULL DEFAULT 0, > 
preco numeric(15,4) NOT NULL DEFAULT 0, > 
desconto numeric(12,2), > 
vendedor numeric(9), > 
coddepto numeric(4), > 
tributacao numeric(4), > 
aliqtributacao numeric(5,2), > 
hora time, > 
custocontabil numeric(12,2), > 
idregistro numeric(9) NOT NULL, > 
seqleitura numeric(9) NOT NULL, > 
cupom varchar(6), > 
aliqreducao numeric(5,2), > 
pontos numeric(9,2) DEFAULT 0, > 
funcao numeric(4), > 
piscofins numeric(1), > 
lucratividade numeric(15,2) NOT NULL DEFAULT 0, > 
totitem numeric(15,4) NOT NULL DEFAULT 0, > 
CONSTRAINT leitura_estoque_pk PRIMARY KEY (seqleitura), > 
CONSTRAINT leitura_estoque_estabelec_fk FOREIGN KEY (codemitente,
codestabelec) > 
REFERENCES estabelecimento (codemitente, codestabelec) MATCH SIMPLE > 
ON UPDATE NO ACTION ON DELETE NO ACTION > 
) > 
WITH OIDS TABLESPACE "GST_TSAux1"; > 
ALTER TABLE leitura_estoque OWNER TO postgres; > 
> 
> 
-- Index: idx_leitura_estoque_produto > 
> 
-- DROP INDEX idx_leitura_estoque_produto; > 
> 
CREATE INDEX idx_leitura_estoque_produto > 
ON leitura_estoque > 
USING btree > 
(codemitente, codestabelec, dtmovto, codproduto); > 
> 
-- Index: idx_leitura_estoque_produtopdv > 
> 
-- DROP INDEX idx_leitura_estoque_produtopdv; > 
> 
CREATE INDEX idx_leitura_estoque_produtopdv > 
ON leitura_estoque > 
USING btree > 
(codemitente, codestabelec, dtmovto, equipamento, codproduto); > 
> 
> 
> 
-- Trigger: trg_altcusto on leitura_estoque > 
> 
-- DROP TRIGGER trg_altcusto ON leitura_estoque; > 
> 
CREATE TRIGGER trg_altcusto > 
AFTER UPDATE > 
ON leitura_estoque > 
FOR EACH ROW > 
EXECUTE PROCEDURE stpr_altcustovenda(); > 
> 
-- Trigger: trg_leitura_estoque on leitura_estoque > 
> 
-- DROP TRIGGER trg_leitura_estoque ON leitura_estoque; > 
> 
CREATE TRIGGER trg_leitura_estoque > 
AFTER INSERT OR UPDATE OR DELETE > 
ON leitura_estoque > 
FOR EACH ROW > 
EXECUTE PROCEDURE stpr_prodresumo(); > 
> 
-- Trigger: trg_leitura_estoque_ultvenda on leitura_estoque > 
> 
-- DROP TRIGGER trg_leitura_estoque_ultvenda ON leitura_estoque; > 
> 
CREATE TRIGGER trg_leitura_estoque_ultvenda > 
AFTER INSERT > 
ON leitura_estoque > 
FOR EACH ROW > 
EXECUTE PROCEDURE stpr_leitura_estoque_ultvenda(); > 
> 
============================================================================
==== > 
ABAIXO O RESULTADO DO VACUUM PARA ESTA TABELA > 
INFO: vacuuming "public.leitura_estoque" > 
INFO: index "leitura_estoque_pk" now contains 95739453 row versions in
397771 pages > 
DETAIL: 157614 index row versions were removed. > 
265 index pages have been deleted, 0 are currently reusable. > 
CPU 10.02s/21.19u sec elapsed 196.57 sec. > 
INFO: index "idx_leitura_estoque_produto" now contains 95742096 row versions
in 735192 pages > 
DETAIL: 157614 index row versions were removed. > 
30 index pages have been deleted, 0 are currently reusable. > 
CPU 22.84s/25.90u sec elapsed 1679.85 sec. > 
INFO: index "idx_leitura_estoque_produtopdv" now contains 95747773 row
versions in 963391 pages > 
DETAIL: 157614 index row versions were removed. > 
3 index pages have been deleted, 0 are currently reusable. > 
CPU 28.82s/25.80u sec elapsed 1915.30 sec. > 
INFO: "leitura_estoque": removed 157614 row versions in 16495 pages > 
DETAIL: CPU 1.06s/0.58u sec elapsed 104.05 sec. > 
INFO: "leitura_estoque": found 157614 removable, 95736585 nonremovable row
versions in 4069552 pages > 
DETAIL: 0 dead row versions cannot be removed yet. > 
There were 0 unused item pointers. > 
0 pages are entirely empty. > 
CPU 100.55s/82.69u sec elapsed 4715.99 sec. > 
INFO: analyzing "public.leitura_estoque" > 
INFO: "leitura_estoque": scanned 3000 of 4070155 pages, containing 70572
live rows and 0 dead rows; 3000 rows in sample, 95746326 estimated total
rows > 
> 
Query returned successfully with no result in 4732938 ms. > 
============================================================================
===== > 
> 
ABAIXO A sql query > 
> 
select sum(TotItem) as Total, sum(Quantidade * CustoContabil) as Custo,
sum(Desconto) as Desconto > 
from Leitura_Estoque > 
where CodEmitente = 1 and CodRegistro = 3 > 
and DtMovto between '01/01/2008' and '31/08/2008' > 
and CodEstabelec = 3 > 
> 
============================================================================
===== > 
> 
<- em 10 minutos e 66 segundos ----> em um IBM com 8 GB de memória, 2
processadores Zion: 4.2 Ghz > > 
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
No virus found in this incoming message.
Checked by AVG - http://www.avg.com 
Version: 8.0.169 / Virus Database: 270.7.2/1690 - Release Date: 25/9/2008
07:05

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a