[Not at all expert in sqlite but here's a practical example of speed up
using ":memory:" and perhaps a slightly different strategy for getting at
the persistent data.]

I use sqlite3 with Qt4 / C++ for an application which reads in an undirected
graph and then chunks through a version of dijkstra's routing algorithm.  A
colleague runs this on his machine and it takes all night on a large network
running on a database on disk.  On my own machine which is more powerful it
probably runs a lot faster but still takes a couple of hours plus.  Changing
to an in memory database, reading data in and processing in memory brings
the run time down to a couple of minutes.  So yes - running in memory can be
much quicker.  At the end of the run I attach an on disk database and copy
out the tables I need to save using "create table select...." .

A

On Mon, Mar 21, 2011 at 1:13 PM, Simon Friis <[email protected]> wrote:

> I know how to create a database that exists only in memory by using
> the :memory: filename. This however, creates a new database every time
> and it can not be saved.
>
> Is is possible to make SQLite load a database file into memory and
> then save it back to the file again when the connection to the
> database is closed?
>
> Would it improve speed?
>
> - paldepind
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to