On 20 Feb 2013, at 3:59, Clemens Ladisch wrote:

Seebs wrote:
I tried ... an in-memory database.
What I observed was a very, very, large slowdown.
We're talking 10MB of database

That database would be in the OS's file cache anyway.

It should. Problem is, there's a nearby program that was doing fsync() operations on something else, and the filesystem's implementation is such that an fsync on ANY file is a complete disk flush for everybody. So avoiding any writes to the filesystem is really important even with synchronous = OFF.

3. It is dramatically reduced in degree by pragma page_size = 8192.

The default cache size is measured in pages.
So maybe your cache size is too small?

Well, that's sort of the question: Should cache size be relevant for a :memory: db?

Could you show some example query?
What is the EXPLAIN QUERY PLAN output?

All the queries are completely trivial. "SELECT * FROM files WHERE path = '...';" type stuff. They match indexes. And again, this is all performance problems *compared to writing to a disk*.

-s
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to