[pgbr-geral] Res: Res: Analise de uso de index entre 8.2 ou 8.3

2009-07-29 Por tôpico paulo matadr
Os parametros do servidor aparentemente importantes sao:
default_statistics_target = 600
checkpoint_segments = 25
shared_buffers= 2GB
effective_cache_size=  3GB
a unica diferenca entre as estruturas das tabelas é um check constraint na 
tabela cliente no banco de desenvolvimento
 ck2_cliente CHECK (clie_nncnpj IS NULL OR char_length(clie_nncnpj::text) = 14);
segue os counts como complemento
Producao
select count(*) from  cadastro.cliente_tipo;--25
select count(*) from  cadastro.cliente_endereco;--2098655
select count(*) from  cadastro.logradouro_bairro;--117201
select count(*) from  cadastro.bairro;--1879
select count(*) from  cadastro.municipio;--186
Desenvolvimento
select count(*) from  cadastro.cliente_tipo;--25
select count(*) from  cadastro.cliente_endereco;--2076210
select count(*) from  cadastro.logradouro_bairro;--116895
select count(*) from  cadastro.bairro;--1854
select count(*) from  cadastro.municipio;--186






De: Euler Taveira de Oliveira eu...@timbira.com
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Terça-feira, 28 de Julho de 2009 20:25:41
Assunto: Re: [pgbr-geral] Res:  Analise de uso de index entre 8.2 ou 8.3

paulo matadr escreveu:
 Segue o explain analyze:
 
O problema é a busca sequencial abaixo.

 -  Seq Scan on logradouro_bairro
 logradouro3_  (cost=0.00..2033.86 rows=117186 width=8) (actual
 time=0.011..359.858 rows=117186 loops=1)
Ele agregado aos vários laços aninhados (aka _nested loop_) consomem a maior
parte do tempo de sua consulta. Além disso, você talvez precise de mais
memória (aka work_mem) para executar a consulta.

Quais os parâmetros sem comentário no postgresql.conf no servidor de produção?
Existe o índice logradouro_bairro_pkey no servidor de produção? As definições
das tabelas em ambos servidores são idênticas?


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: Res: Analise de uso de index entre 8.2 ou 8.3

2009-07-29 Por tôpico Euler Taveira de Oliveira
paulo matadr escreveu:
 Os parametros do servidor aparentemente importantes sao:
 
Qual é o valor de work_mem? Você tentou fazer:

SET work_mem to 16MB;
EXPLAIN ANALYZE SELECT ...;
SET work_mem to 8MB;
EXPLAIN ANALYZE SELECT ...;
SET work_mem to 32MB;
EXPLAIN ANALYZE SELECT ...;

O plano mudou?

Outra coisa é que você está utilizando LEFT JOIN em todas as junções. Eles são
realmente necessários ou tem algum deles que pode ser um INNER JOIN (aqueles
cuja chave estrangeira não pode ser nula)? Junções externas *não* restringem
tanto o conjunto de dados quanto junções internas e, tendem a ser mais custosas.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral