> SQLite is about equally space-efficient for pretty-much everything you do.

Yeah, I figured it probably would be. I'm generating my database in
one shot off-device at the moment and it's all sequential, so there's
no chance of anything being out of order. Even the vacuum only cleaned
up 250KB out of 41.5MB. The page_size find was a little bit expected
because smaller chunks will go through the Deflate algorithm better
but I guess I was hoping maybe someone had tried to do this before and
there is some magic combination of pragmas which perfectly align to
what Deflate expects (unusual page_size, perhaps?).

Anyway, I'll grab an analyser and see what's what.

Thanks Simon.

L

On 5 March 2012 21:02, Simon Slavin <slav...@bigfraud.org> wrote:
>
> On 5 Mar 2012, at 12:16pm, Larry Knibb <larry.kn...@gmail.com> wrote:
>
>> Thanks for the quick reply, Simon. I was rather hoping there might be
>> some efficiency tweaks I can do to the db file (e.g. more explicit
>> creation statements, or postprocessing) instead of getting into custom
>> sqlite builds. [snip]
>
> SQLite is about equally space-efficient for pretty-much everything you do.  I 
> have seen some reports that creating tables by INSERTing rows in primary key 
> order makes a database smaller, but I don't remember any of the experts 
> posting anything definite about it one way or the other.
>
> Something you might try is to build your database file however you want, then 
> use the shell tool's '.dump' and '.read' commands to make another database 
> file out of it.  Among other things I believe this does INSERT rows in 
> primary key order.  If the two files are radically different in size then 
> there's something strange going on and, of course, you've found a way to make 
> your database smaller.
>
>> Can I limit possible string lengths for the TEXT fields or is it
>> already using VARCHAR internally?
>
> Affinities of VARCHAR are interpreted as TEXT, with length limits being 
> ignored.  All strings in SQLite are variable-length strings.  See
>
> <http://sqlite.org/datatype3.html>
>
>> If so, any idea where all the space
>> is being used? Can I profile the tables to learn how much data they
>> hold individually or the efficiency of that storage?
>
> Take a look on
>
> <http://sqlite.org/download.html>
>
> to see if there's a build of 'sqlite-analyzer' for your platform.  This is a 
> good way of getting a ton of information about your database file.  You might 
> find something weird.
>
> Generally, in cases where it /is/ possible to save a lot of space in a 
> database, it's because people have made indexes which are unnecessary, or 
> unnecessarily long, or duplicates of existing indexes.  If you understand SQL 
> well and made your indexes by examining your INSERT and UPDATE commands, then 
> this probably isn't your problem.
>
> Simon.
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to