It looks like the size of a Sqlite DB ends up being much larger (more than 2x) 
than size that I calculate for its data set.

A simple test shows that when creating one table with one integer column and 
filling it with 10000 rows, I get a DB size of 92KB instead of what I'd expect 
to be around 40KB plus some small overhead for the table definition.  This 
seems to scale linearly as I increase the amount of data in the DB.

Does anyone know why this is?  Does each column of each row store its type, or 
is it just stored in the table definition?  I seem to remember reading that 
Sqlite supports flexible types where different rows can change their types.  If 
that's true, is there a way to turn this off at compile time or something?  Or 
are there any other tricks to reduce the data size of the DB?

Dave Gierok

Reply via email to