--- Unit 5 <[EMAIL PROTECTED]> wrote:
> I have a couple of questions on :memory: databases:
> 
> 1) What happens when a table grows in size more than
> the available RAM?  Does sqlite revert to file based
> mechanism to handle it or would it throw an error?

If your OS is Windows or UNIX, your system will just trash
and become unresponsive long before SQLite returns an out
of memory error. This is due to the magic of virtual memory.
At least this is my experience with temp store = memory.

> 2) From some of the other posters who have done more
> testing than I, it seems that there is not much
> difference in performance between :memory: and regular
> file based databases.  Is that so?  in what
> circumstances would the memory database perform
> better?

File store, strangely, seems to have a slight performance 
edge over :memory: in the most recent CVS version of SQLite
for many operations. Why this is the case is a bit of a 
mystery to me. It's not logical that the code path for file
page manipulation (which includes operating system calls) be 
faster than memory pages under any circumstance. I wonder if
memory pages are being accidentally double cached or something
equally weird.

Memory store used to be considerably slower than file store
in SQLite3 until two memory page cache issues were fixed after 
the 3.3.5 release.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to