On Sat, 6 Dec 2008 19:47:06 +0530, "J Jayavasanthan"
<[EMAIL PROTECTED]> wrote in General Discussion of SQLite
Database <sqlite-users@sqlite.org>:


>And BTW, we narrowed down the Memory Usage only when processing the
>resultsets it was growing till 1.2 GB of memory and was quite visible. After
>the resultset was processed the memory usage came back to normal.

When you use prepare/bind/step/finalize, SQLite doesn't build a
resultset in memory, and memory used will mainly be the page
cache, the size of which can be chosen with PRAGMAs page_size and
[default_]cache_size. Note that page_size can only be changed at
database creation and immediately before a VACUUM.

>Does anyone know how sqlite3_get_table works in the above scenario, 
>does it load up the memory as such.

It is one of the few exceptions that does. Probably the only one.
See http://www.sqlite.org/c3ref/free_table.html

Apparently, sqlite3_get_table() should be avoided for everything
over a few rows. Your application shouldn't store large
resultsets in memory either. A nice way to implement a "sliding
window" over a resultset is given here:
http://www.sqlite.org/cvstrac/wiki?p=ScrollingCursor


>Thanks for all your help,
>
>Regards,
>Jay.

You're welcome.
-- 
  (  Kees Nuyt
  )
c[_]
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to