Pular para o conteúdo

Fóruns Banco de dados Oracle Comando insert sem gerar archives Comando insert sem gerar archives

#101146
Avatar photoRegis Araujo
Participante

    Senhores.. boa noite..!

    Só uma colocação..

    O Hint APPEND não vai fazer gerar redo ou não, o hint APPEND em um insert, vai simplesmente inserir os dados após o final da marca d´agua, ou seja, se vc tem uma tabela com 10milhões de linhas e faz inserts e deletes constantemente, pode acontecer de ficarem “buracos” nos segmentos desta tabela, com blocos não usados, pois ela não foi “reorganizada”, utilizando o hint APPEND vc fala para o Oracle descartar estes buracos, ele não vai precisar ficar procurando por blocos vazios dentro da tabela para inserir os dados, ele simplesmente vai no ultimo bloco utilizado da tabela e começa a inserir a partir daquele ponto..


    Um exemplo seria mais ou menos assim...

    Vc possui uma tabela os blocos preenchidos com dados..

    1-2-3-4-5-6-7-8-9-10-

    Deleta os valores nos blocos pares.. terá:

    1- -3- -5- -7- -9- -

    Inserindo novos valores sem o hint APPEND:

    1-2-3-4-5-6-7-8-9-10-

    Inserindo novos valores com o hint APPEND:

    1- -3- -5- -7- -9- -11-12-13-14-15-16

    Tanto que muitas vezes precisamos fazer um Shrink na tabela para reorganiza-la…

    Para tentar não gerar muitas entrada nos redos, vc pode colocar a tabela em modo NOLOGGING, mas como o Rodrigo falou, mesmo assim vai gerar entradas nos redos..

    Bom.. me corrijam se eu estiver errado.. mas por tudo q estudei e me lembro.. é assim que funciona o hint APPEND.. Tanto que inserts por DML usam por default APPEND..

    Abraços.!