Em 13 de novembro de 2012 11:21, Giuliano Grego <[email protected]> escreveu: > > > Bom dia !
Bom dia! > Estou rodando 3.180 comandos UPDATE ( > UPDATE areas SET mun_geocodigo = '3204906' WHERE num_prop = '23611'; por > exemplo), numa tabela com as mesmas 3.180 linhas, e isso está demorando > horas; no último teste que fiz numa tabela com a metade do tamanho : "Query > returned successfully: 1909 rows affected, 75451361 ms execution time." Você não conseguiria trocar estes 3.180 comandos por apenas um? Ou a essência da modificação de dados requer que cada linha receba valores diferentes? Um único comando UPDATE é mais rápido que disparar vários. Se possível faça isso. > Meu computador é localhost; ninguém mais usando o banco; banco com 2 funções > de gatilho para cópia de registros entre tabelas ligadas; enfim, um banco > super singelo que roda em intranet. Sem ter o conteúdo (código) dos gatilhos não há como ajudar muito. A rede neste caso não interfere em nada. Para o PostgreSQL 3000 registros não representam grande massa de dados, o SGBD tira de letra. O que pode estar interferindo e causando a demora são estes TRIGGERs. Já parou para revisar seu código? > Fiz testes com os mesmos números de comandos insert e delete nas mesmas > tabelas e demorou alguns segundos apenas. Mais um argumento para culpar os TRIGGERs - se eles forem BEFORE/AFTER UPDATE. > A configuração de meu computador que está como servidor é: > Processador: AMD Phenom II X4 945 3.00 GHz > 8 gb de ram > Win 7 professional. Esqueceu da especificação principal: disco. Em uma operação de alteração de registros o gargalo ficará no disco, exceto se existir uma rotina mal escrita em TRIGGER que abuse de memória e CPU. > Vi um outro post na lista sobre o mesmo tema, mas que tratava sobre um banco > com 20 milhões de registros ..... > Mesmo assim dei uma conferida nas minhas conf's e não tem nada de anormal; já > fiz coisa pior no passado e nunca demorou mais que 10 seg o processamento. Como assim? Os mesmos comandos UPDATE no passado levavam 10 seg? Os TRIGGERs que você se referiu já existiam n'aquele tempo? -- TIAGO J. ADAMI http://www.adamiworks.com @tiadami _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
