Hi Jay,

Definitely worth investigating. Thanks for the tip!

-- Tito

On 9 Nov 2008, at 8:44 AM, Jay A. Kreibich wrote:

> On Sat, Nov 08, 2008 at 03:34:29PM -0800, Tito Ciuro scratched on  
> the wall:
>> Hello,
>>
>> If I open a SQLite database in memory (using :memory:), would it be
>> possible to save it on disk? Here's the reason:
>
>> Manipulating data in memory is ~3.4x faster than using the file  
>> system
>> (YMMV). If I could process the bulk of the data in RAM, then I could
>> save the final database on disk saving precious time.
>
>
>  Another option is to use an on-disk database, but turn off most of
>  the safety and security features.
>
>  -- Turn the page cache up so it is large enough to hold the whole
>     database in the cache.
>
>  -- Turn the journal file off.
>
>  -- Turn synchronous off.
>
>  (See http://sqlite.org/pragma.html for how to do all that)
>
>  There will be some start-up cost as the database is pulled into the
>  cache, and it won't be quite as fast as a true :memory: database,
>  since it still writes out data into the OS file-cache buffers.
>  Overall your performance will be very similar to a fully in-memory
>  database, plus you won't have to deal with shuffling data back and
>  forth between a memory database and a disk database.
>
>  Of course, you get most of that performance by turning off most
>  of the safety and security features so the reliability of a database
>  in this mode is more or less the same as an in-memory database...
>  the database is very likely to get corrupt if you suffer a process or
>  system failure.
>
>  But it is faster.  And sometimes that's what counts.
>
>  -j
>
> -- 
> Jay A. Kreibich < J A Y  @  K R E I B I.C H >
>
> "Our opponent is an alien starship packed with atomic bombs.  We have
> a protractor."   "I'll go home and see if I can scrounge up a ruler
> and a piece of string."  --from Anathem by Neal Stephenson
> _______________________________________________
> 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