terça-feira, 15 de setembro de 2009

Truncate Table no Informix

Ni-hao,

Muitas vezes precisamos eliminar todo o conteudo tabela , isto deve ocorrer de forma rápida e sem impactos.

Até a versão 7 do Informix era comum executarmos um drop/create table, pois fazer um delete de todas as linhas da tabela não era algo eficiente.

A partir da versão 9.40 temos o truncate table, o mesmo foi melhorada e na versão 11.50 chegou a um excelente nivel de funcionalidade.

Segue abaixo as sintaxes do comando:

Truncate table your_table;
Truncate table your_table drop storage ;
Truncate table your_table reuse storage;

TRUNCATE TABLE

Este comando irá zerar o conteudo da tabela, a eliminacao de linhas nao ocorre, o Informix apenas elimina as referencias ao extent dentro da partition page, somente o extent inicial permance.

CLAUSULA DROP STORAGE

Tem a mesma função padrão do truncate table, ou seja elimina os extents subsequentes e insere esses espaços contiguos na free list do dbspace onde a tabela reside, assim outras tabelas ou indices podem reutilizar este espaco.

CLAUSULA REUSE STORAGE

Esta clausula é muito util, pois os extents não são removidos da tabela, as paginas de dados e bitmap apenas são marcadas como free , este recurso é muito útil em tabelas usadas por processos batches, onde são truncadas e populadas com frequência.

Vagner

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.