quinta-feira, 21 de agosto de 2008

Comportamento De Tabelas Oracle

Tabelas oracle são segmentos, um segmento pode conter um ou mais extents e um extent pode conter um ou mais blocos. A quantidade de extents é definida em tempo de criação do segmento e pode aumentar na medida em mais blocos são alocados.

O SQL abaixo mosttra quantos extents e blocos há em um tabela.

SELECT segment_name,
extent_id ,
block_id
FROM dba_extents
WHERE dba_extents.segment_name = ‘PAGAMENTOS’
AND segment_type = ‘TABLE’;

Essas informações são importantes para a definição do comportamento de segmentos. Para tabelas muito grandes é recomendável definir extents maiores, se possível apenas 1. Recomenda-se colocar esses segments em tablespaces com blocos maiores.

O controle do crescimento e do encolhimento de tabelas e índices, resulta em melhor desempenho do banco em processamento de grande volume de dados, pois ao alocar ou desalocar um bloco ou um extent o banco de dados oracle necessita realizar updates de diversos registros em seu dicionário de dados. O tempo de execução desses updates está diretamente relacionado a quantidade de extents e blocos de um segmento de banco de dados.

Nenhum comentário: