Eu tenho várias perguntas:
1) Se o Oracle gerencia o High-water Mark e o Low High-water Mark no tablespace ASSM, temos que pensar nisso ao pensar em desempenho? Quero dizer, o Oracle gerencia os próprios blocos excluídos e não verifica esses blocos durante a verificação completa da tabela, ou ainda temos que reduzir essas tabelas (alter table mytable shrink space;) para limpar esses blocos excluídos e aumentar o desempenho?
2) Se o ASSM oferece automatização para este e outros itens relacionados, sem dúvida há uma compensação de desempenho ao escolher o ASSM em vez do MSSM. Quais devem ser os principais critérios na escolha de ASSM ou MSSM?
ATUALIZAÇÃO . Fiz um teste no meu notebook com o mytable (ASSM). Primeiro, inseriu 1.000.000 registros. A consulta "select count(*) from mytable" estava sendo executada em média 0,05 s. Em seguida, fez DELETE completo. A mesma consulta estava sendo executada em média 0,03 s, então talvez o Oracle ainda estivesse lendo os blocos excluídos. Somente após TRUNCATE a consulta é executada em média 0,001 s. Talvez o ASSM demore para reduzir o espaço da tabela ou ainda tenho que reduzi-lo manualmente?
O ASSM não se trata de reduzir a marca d'água alta da mesa. O principal benefício do ASSM é que ele automatiza a tarefa de gerenciamento de lista livre para lidar com o DML simultâneo na tabela. Freelists são usadas para alocar novos blocos quando os dados são adicionados à tabela. Você poderá ver os benefícios de desempenho do ASSM quando várias sessões tentarem preencher os dados simultaneamente em uma tabela. Quanto à questão dos blocos excluídos e seu impacto no desempenho, a resposta é depende. O ASSM ou qualquer outro recurso do Oracle não remove automaticamente os blocos da tabela quando os dados são excluídos. Se você excluir uma grande quantidade de dados de uma tabela grande e não encolher explicitamente a tabela e se suas consultas fizerem a tabela completa, você não verá nenhum benefício de desempenho ao excluir os dados da tabela. Mesmo que você decida encolher a tabela para obter benefícios imediatos de desempenho, precisará pensar na rapidez com que novos dados serão adicionados à tabela e a tabela voltará a crescer, basicamente uma análise de custo-benefício. Novamente, uma explicação melhor sobre isso pode ser encontrada na documentação do oracle e em livros como Expert Oracle Database Architecture, de autoria de Tom Kyte.