db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Weber <karl.webe...@googlemail.com>
Subject Reclame unused space, but how exactly?
Date Sat, 05 Mar 2016 14:54:45 GMT
Hi,

just to make sure, that I understand what is going on:

Suppose I have some table with a variable length column type, e.g. a 
varchar(10000). The data in this column are large, say, on average of about 
9000 characters.

Then I replace the data and they are on average only 10 characters long.

Suppose, I have a huge number of rows, so that the following makes sence.

When I understand the derby documentation, the space -- 8990 characters on 
average in each row -- is unused and completely wasted. Derby does not 
automatically frees this space.

Is this correct so far? Or does it depend? If yes, on what?

I want to make the unused space availabe to derby for the insertion of new 
rows. It should be optinal to give unused space back to the OS. In order to do 
so, I have to use some system utility.

Correct?

The only utility I found is SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE. But is 
this correct?

I do not have deleted rows, to I do not need PURGE_ROWS.

I do not need to move entire rows, so I do not need DEFRAGMENT_ROWS.

So the utility will not help???

Since SYSCS_UTIL.SYSCS_COMPRESS_TABLE will only give unused space back to the 
OS, this is not helpfull either. Or is it?

Where is my misunderstanding, i.e. what do I have to do, in order do reclame 
the space? 

Or does derby somehow optimize disk usage in the described case automatically?

Thanks in advance
Karl

Mime
View raw message