Pysqlite tables in RAM

Bruno Desthuilliers onurb at xiludom.gro
Fri Sep 29 13:47:04 CEST 2006


Ranjitha wrote:
> Hi all,
> 
> I'm relatively new to python 

And to databases ?

> and am facing a problem with database
> access
> 
> I want to store my data in a database on the disk. I also want to be
> able to reload the tables into the RAM whenever I have a lot of disk
> accesses and commit the changes back to the database.

This should be the database duty, not yours. Serious RDBMS are highly
optimized wrt/ caching and file I/O, and there are very few chances you
can do anything better by yourself.

> There is an
> option of storing the data in the RAM where you connect to :memory:
> instead of a DB file. The problem with this is that the data is lost
> everytime you close the connection to the database.

Seems quite obvious !-)

> Could somebody
> suggest a way to load the tables into the RAM as tables and not as some
> lists or dictionaries?

There's nothing like a "table" in Python's builtin datatypes !-)

More seriously: don't bother.

Focus first on writing correct code. Then, *if* and *when* you *really*
have a performance problem, *first* use a profiler to check where the
*real* problem is. If it then happens that SQLite is the bottleneck, try
switching to a real RDBMS like PostgreSQL.

Remember the 3 golden rules about optimisation:
1/ don't optimize
2/ don't optimize
3/ for the experts only: don't optimize


My 2 cents...
-- 
bruno desthuilliers
"Premature optimization is the root of all evil."
(some wise guy)



More information about the Python-list mailing list