Re: [sqlite] indexes in memory

2006-11-09 Thread spaminos-sqlite
- Original Message 
From: Christian Smith <[EMAIL PROTECTED]>
To: sqlite-users@sqlite.org
Sent: Thursday, November 9, 2006 8:38:51 AM
Subject: Re: [sqlite] indexes in memory


> chetana bhargav uttered:

> > Hi,
>
> > I have a question regrading indexes,
> >
> > When I open a connection,
> >
> >  Will indexes be loaded into memory. If one of the tables in the DB, the 
> > connection for which I have opened, has an index.
> >   If, so is there any way to selectively load/unload that from memory.
> 
> 
> Indexes will be loaded into the cache as needed. The whole SQLite database 
> is page based, and the cache caches the pages. The tables and indexes are 
> implemented as page based btrees, with nodes represented by pages.
> 
> The cache is unaware of the higher level structure of the btrees, and 
> there is no way to selectively bring load/unload tables or indexes from 
> memory. The page cache will manage itself on an LRU basis.
> 
> > ...
> > Chetana.

> Christian
 
 
I found that when opening your connection, if you're about to do a lot of 
operations it can be worth doing a "SELECT keyname FROM ... "over the whole 
data to prepopulate the cache with the index data.
 
Even on pretty large datasets this only takes a few seconds and the following 
operations will be much faster (and the overall time to complete the batch is 
much smaller).
 
Nicolas

Re: [sqlite] indexes in memory

2006-11-09 Thread Christian Smith

chetana bhargav uttered:


Hi,

I have a question regrading indexes,

When I open a connection,

 Will indexes be loaded into memory. If one of the tables in the DB, the 
connection for which I have opened, has an index.

  If, so is there any way to selectively load/unload that from memory.



Indexes will be loaded into the cache as needed. The whole SQLite database 
is page based, and the cache caches the pages. The tables and indexes are 
implemented as page based btrees, with nodes represented by pages.


The cache is unaware of the higher level structure of the btrees, and 
there is no way to selectively bring load/unload tables or indexes from 
memory. The page cache will manage itself on an LRU basis.



...
Chetana.


Christian

--
/"\
\ /ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
 X   - AGAINST MS ATTACHMENTS
/ \

-
To unsubscribe, send email to [EMAIL PROTECTED]
-



[sqlite] indexes in memory

2006-11-09 Thread chetana bhargav
Hi,

I have a question regrading indexes,

When I open a connection,

  Will indexes be loaded into memory. If one of the tables in the DB, the 
connection for which I have opened, has an index.
  If, so is there any way to selectively load/unload that from memory.


...
Chetana.