Opa, Em 17 de março de 2010 17:01, Tiago Valério <[email protected]>escreveu:
> Ja tinha feito isto antes de dar o explain porem na duvida fiz novamente e > a saida foi a mesma > > "Limit (cost=0.00..22827.32 rows=10000 width=39)" > " -> Nested Loop (cost=0.00..760910.00 rows=333333 width=39)" > " Join Filter: (a.datahora_processamento > > b.datahora_processamento)" > " -> Seq Scan on cnpj_rf b (cost=0.00..24554.00 rows=1000000 > width=23)" > " -> Index Scan using cnpjkey on ecnpj_teste_repro a > (cost=0.00..0.72 rows=1 width=39)" > " Index Cond: (a.cnpj = (b.cnpj)::bpchar)" > " Filter: ((a.flag_processamento = 22) AND (a.flag_relacional > = 0))" > > Olhando rapidamente, o problema me parece na leitura sequencial que esta acontecendo na tabela cnpj_rf, acredito que um índice nesta tabela deve resolver o problema. > > Em 17 de março de 2010 16:55, JotaComm <[email protected]> escreveu: > > Olá, >> >> >> Em 17 de março de 2010 16:51, Tiago Valério >> <[email protected]>escreveu: >> >> Pessoal estou executando a seguinte consulta(segue abaixo) com o >>> resultado de explain(segue abaixo) a tabela possui a mesma quantidade de >>> registros 1.000.000, ambas possuem indices para os campos de juncao e campos >>> da condicao. >>> >>> Porem o valor de Nested Loop esta alto.Teria algo que possa ser feito >>> para melhorar isto? >>> >> >> Quando foi a última vez que rodou o ANALYZE? >> >>> >>> >>> >>> "Limit (cost=0.00..22827.32 rows=10000 width=39)" >>> " -> Nested Loop (cost=0.00..760910.00 rows=333333 width=39)" >>> " Join Filter: (a.datahora_processamento > >>> b.datahora_processamento)" >>> " -> Seq Scan on cnpj_rf b (cost=0.00..24554.00 rows=1000000 >>> width=23)" >>> " -> Index Scan using cnpjkey on ecnpj_teste_repro a >>> (cost=0.00..0.72 rows=1 width=39)" >>> " Index Cond: (a.cnpj = (b.cnpj)::bpchar)" >>> " Filter: ((a.flag_processamento = 22) AND >>> (a.flag_relacional = 0))" >>> >>> select >>> a.cnpj as cnpj_atual, >>> cdmatriz_changed , >>> data_abertura_changed, >>> razao_social_changed , >>> fantasia_changed, >>> cdnatureza_changed, >>> logradouro_changed, >>> numero_changed, >>> complemento_changed, >>> cep_changed, >>> bairro_changed, >>> municipio_changed, >>> uf_changed, >>> cdsitcadastral_changed, >>> cdmotivosituacao_changed, >>> cdsitcadastralesp_changed, >>> cnaes_changed, >>> a.datahora_processamento as data_atual >>> >>> >>> from ecnpj_teste_repro a left join cnpj_rf b >>> on a.cnpj=b.cnpj >>> >>> >>> where a.flag_processamento=22 and a.flag_relacional=0 and >>> a.datahora_processamento > b.datahora_processamento >>> >>> LIMIT 10000 >>> >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >>> >> >> []s >> -- >> JotaComm >> http://jotacomm.wordpress.com >> >> _______________________________________________ >> 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 > > []s -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
