Basicamente o problema enfrentado esta numa function que tentei descrever abaixo ou em um update somente da tabela :
1-As tabelas1 e tabelas 2 possuem a mesma quantidade de registros (10 milhoes); 2-Na analise do explain o resultado eh satisfatorio; 3-Analisando a taxa de acerto pela consulta abaixo eu tenho 95,25; select datname,(sum(blks_hit)/sum(blks_read+blks_hit)*100)::numeric(4,2) as taxa from pg_stat_database where datname in ('bd1') group by datname; 4-Quando a function entra na segunda consulta para trazer o valor found ele esta com uma demora, e na execucao do update tambem; Obs!! Ainda nao consegui habilitar o log_checkpoints, ele cria o arquivo de log porem nao joga as informacoes dentro do mesmo, estou em anlise para saber o motivo. CREATE OR REPLACE FUNCTION funcao_atualiza(porcao integer) RETURNS boolean AS $BODY$ DECLARE resultado boolean; reg_proc record; reg_rel record; BEGIN resultado := true; --BEGIN FOR reg_proc in select campo1_primarykey , campo2_datahora , campo3, campo4 , campo5, campo6, campo7, campo8, campo9, campo10, campo11, campo12, campo13, campo14, campo15, campo16, campo17, campo18 from tabela_1 where campo2=22 and campo3=0 order by camp1_primarykey LIMIT porcao loop select campo2_datahora,campo4,campo5 into reg_rel from tabela_2 where campo1_primarykey=reg_proc.camp1_primarykey; If found then if (reg_proc.campo2_datahora > reg_rel.campo2_datahora) then begin update tabela_2 set campo2_datahora=reg_proc.campo2_datahora where campo1_primarykey=reg_proc.campo1_primarykey; end; end if; end if; end loop; return true; end ; $BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100000; Em 13 de março de 2010 10:48, Euler Taveira de Oliveira <eu...@timbira.com>escreveu: > Tiago Valério escreveu: > > De um registro nao demora tanto, mas eh lento. Quando eu faco o update > > dos 20 milhoes ai sim demora o dia inteiro praticamente. > > > Sem a definição da tabela fica difícil afirmar algo mas eu desconfio que a > maioria do tempo é gasto na execução de gatilhos. > > > -- > 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 >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral