db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Bovill" <abov...@fnfr.com>
Subject Calculating Database Size
Date Wed, 25 Apr 2007 20:16:09 GMT
Hello,

 

I was wondering whether there was a good way to calculate the amount of
space that my derby database is currently using.

 

In the application that I'm working on, I have to keep that last X
megabytes of data (where X is a user definable value).  The overriding
table of information is the items table that has two CLOBs in it:

 

Items {

ID

.

.

CLOB

CLOB

}

 

Is there a way to query derby to find out how much space it is using so
that I can delete some items and then "reclaim" the space with: 

 

call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP', 'ITEMS', 0);

 

or 

 

SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE(
               IN SCHEMANAME VARCHAR(128),
               IN TABLENAME VARCHAR(128),
               IN PURGE_ROWS SMALLINT,
               IN DEFRAGMENT_ROWS SMALLINT,
               IN TRUNCATE_END SMALLINT )

 

The documentation states: Unlike SYSCS_UTIL.SYSCS_COMPRESS_TABLE(), all
work is done in place in the existing table/index.

 

Does that mean that the first call creates a new set of files and copies
itself over there and when that is complete, the old files are deleted?

 

 

 

Or is the only way to do this to add a "SUM" column to that table and
then perform the following query:

 

SELECT SUM(size) FROM Items; 

 

And then delete appropriately?

 

(Sorry if this is answered somewhere, I searched through the
documentation for everything that I could think of.)

 

Thanks,

Adam


Mime
View raw message