Com SECUREFILE
o armazenamento, posso especificar se quero compactação (e o nível dela) e desduplicação, e tudo é uma troca entre tempo e espaço.
O tempo é bastante fácil de perfilar, mas qual é a maneira mais fácil de obter uma medição razoavelmente precisa de quanto espaço uma coluna LOB específica ocupa?
Você pode obter o tamanho em bytes da coluna BLOB via
DBMS_LOB.GETLENGTH(...)
.Para obter um tamanho total em bytes de coluna para toda a tabela
SUM
, faça assim:Se você marcou a coluna BLOB como desduplicada, pode executar algo como o seguinte para obter estatísticas sobre o tamanho real em bytes usados. Compare o
used_bytes
valor antes/depois de ativar as configurações que podem alterar o tamanho da coluna BLOB (por exemplo, desduplicação, compactação etc.).Este código é uma versão ligeiramente modificada do código na postagem da Oracle explicando como funciona a desduplicação. O original está disponível aqui: http://www.oracle.com/technetwork/articles/sql/11g-securefiles-084075.html .