DB2 reorganizar uma tabela

Quando altero uma tabela em db2, tenho de reorganizá-la. então eu executo a próxima consulta:

Call Sysproc.admin_cmd ('reorg Table myTable');

Estou à procura de uma solução apropriada para reorganizar uma tabela quando ela é alterada, ou reorganizar todos os esquemas depois de fazer várias modificações

 5
db2
Author: senior, 2013-04-16

3 answers

A operação reorg é semelhante a uma desfragmentação no disco rígido. Ele liberta espaços vazios em páginas, e eventualmente ele poderia reorganizar os dados de acordo com um índice. Dependendo das características, cria o dicionário de compressão e comprime os dados.

Como podem ver, a operação reorg é uma tarefa administrativa, e não é necessário alterar os dados de cada vez. Uma base de dados podia correr sem o reorg.

Para facilitar isto, o DB2 incluía funcionalidades autónomas como a cópia de segurança automática., no entanto, isto não responde à sua pergunta. Isso só vai desencadear reorg em tabelas que precisam disso.

 3
Author: AngocA, 2013-04-16 13:55:36

Pode determinar quando as tabelas necessitarão de um {[1] } olhando para SYSIBMADM.ADMINTABINFO:

select tabschema, tabname
  from sysibmadm.admintabinfo
 where reorg_pending = 'Y' 

Você também pode querer olhar para a coluna NUM_REORG_REC_ALTERS Pois isto pode mostrar-lhe tabelas adicionais que não exigem reorganização devido a váriasALTER TABLE declarações.

 3
Author: Ian Bjorhovde, 2013-04-16 19:25:54

Na configuração db2 temos:

Reorganização automática (AUTO_REORG) = desligado

Podemos colocar auto_reorg em {[[2]}
 0
Author: senior, 2013-04-16 11:31:28