Is it possible to give rules of the following kind:

Every field of type INTEGER will take N bytes (N=4?),
every field of type VARCHAR(X) will take I*X+J bytes (I, J =?),
every field of type VARCHAR with NULL value will take K bytes,
every row will take the sum of all field-widths plus L bytes,

I think it *is* possible, but I'm not aware of anyone who has done this.

When I was faced with practical problems of this sort (how much space
will my database take up, if I design the tables like this?), my approach
was to prototype the tables, load up a "reasonable" amount of data
(at least a few hundred thousand rows, maybe a million rows), and
look to see how much actual space got used.

The Derby "SPACE_TABLE" tool is quite useful for running experiments like this.

http://db.apache.org/derby/docs/10.8/ref/rrefsyscsdiagtables.html

thanks,

bryan

Reply via email to