On Thu, 19 Mar 2009 08:14:52 -0700 (PDT), anjela patnaik
<[email protected]> wrote:

> Hello all,
> 
> I'm working on a GUI application using Tcl/Tk with
> sqlite back end on windows. Now, multiple users will be
> running this and all users must have a copy of the db
> local to their PC or in a shared drive. At least that
> is my understanding of how sqlite works.
> 
> 1. What are my options if the db gets very large (say > 1 G)
> and we don't want users to allocate that much disk
> space and RAM?

The same as for any other file or program, that is to say it
is possible to make huge files or consume much memory with
any other program. Think of bad awk scripts (with huge
in-memory associative arrays) or Java or the tempfiles of a
large sort. The usual system management strategies apply.

> 2. How does sqlite allocate RAM when doing select
> statements? what about when opening the db ?

The allocation on open() is limited, most will be for the
schema and perhaps page allocation maps.
During SELECT / UPDATE / INSERT / DELETE the cache will
grow.
SQLite cache memory size = cache_size times page_size.
There is quite some info on http://www.sqlite.org/ about
architecture and optimization.

> 3. Are there any ways to compress db files in disk (for
> free) and then is sqlite able to still get to the data
> easily?

Donald already gave a good answer to that question.

> Thank you!
-- 
  (  Kees Nuyt
  )
c[_]
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to