José

Tenho certeza que o Chiappa vai detalhar melhor, mas o caminho é fazer um um
INSERT (com o hint de APPEND), já com os dados modificados, ao invés de
fazer UPDATE (que sempre será mais lento).
Obs.: Atenção que o INSERT /*+ APPEND */ tem alguns pré-requisitos.

[ ]

André


Em 13/10/08, Jose C Carvalho <[EMAIL PROTECTED]> escreveu:
>
>   Grande Chiappa , obrigado pela Ajuda .. Mais uma Pergunta .. Gostaria de
>
> saber qual a melhor maneira de fazer com que um update fique mais rápido.
> O bulk é melhor caminho ?
>
> São 30 Milhões de linhas que estou atualizando de 2 em 2 milhões ..Mais
> esta muito lento .. ( a maquina não é la essa coisas ) . Estou com oracle
> 10g e esta levando 1,5 horas por milhão
>
> Alguem tem alguma dica ?
>
> Obrigado
>
> From:
> "jlchiappa" <[EMAIL PROTECTED] <jlchiappa%40yahoo.com.br>>
> To:
> oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
> Date:
> 13/10/2008 08:28
> Subject:
> [SPAM]:[oracle_br] Re: NOLOGGING
>
> A resposta é bem simples : os archives nada mais são do que cópias dos
> redo log files, SE vc estiver gerando redo os redo log files vão
> encher e serão copiados para archive, é TOTALMENTE inescapável,
> rigorosamente NÃO TEM COMO desabilitar archives, eles são consequência
> Natural e Direta do redo, ok ?
> O redo vc não tem como evitar totalmente (até pela questão de
> Arquitetura do banco, ele trabalha com blocos, para que a performance
> não caia ao chão ao invés de atualizar blocos em disco qquer alteração
> num bloco TEM que ser salva, isso é o redo, em caso de crash o bloco
> original tá em disco e as alterações no log file, é só aplicar as
> alterações no bloco original) , o que vc PODE é , em poucas e
> restritas situações aonde o bloco é totalmente novo então em caso de
> crash não há o que recuperar (como INSERTs em modo append) não há
> imagem , reduzir EM MUITO o redo , reduzindo assim em muito o archive
> em consequencia de ter menos redo log files sendo enchidos, ok ? Veja
> nos manuais os itens sobre modo NOLOGGING para detalhes, mas que fique
> claro :
>
> => vc NÂO ESTÁ com isso desligando totalmente geração de redo log (e
> consequentemente archives), desligar TOTALMENTE como vc quer é impossível
>
> e
>
> => essa redução só se pode dar em poucos e restritos casos
>
> []s
>
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, Jose
> C Carvalho <[EMAIL PROTECTED]>
> escreveu
> >
> > Boa Tarde pessoal .. Estou precisando fazer um update em uma tabela
> com 30
> >
> > Milhões de registro sem gerar archive .. Fiz um alter table nologging
> > na tabela porem a geração de archives continua
> >
> > Na documentação esta falando que essa clausula não afeta INSERT
> > convencional ,UPDATE, DELETE ..
> >
> > Alguém tem alguma diga para não gerar archives ? ( não posso tira a
> base
> > de modo Archive )
> >
> > Obrigado
> >
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a