title: improve SQLite performance with huge database
body: <p>I have a SQLite database, the schema is quite simple but in one of the table I have more than 200 000 objects and the second I have more than 10 000 000 objects.
  For these 2 tables I have indexes and I'm accessing much more frequently the first table.</p>
  
  <p>It's a read-only database, I don't need to insert/delete/change rows. </p>
  
  <p>My application is using Java and I'm using the Xerial jdbc driver to query the database.</p>
  
  <p>My issue is from time to time (or the first time) my SQL Select takes lots of time (more than 120 seconds). Next, when the same requests is used it's much more faster (like 3 seconds!).</p>
  
  <p>I would like to guarantee a constant time to my customers when accessing the database. I suppose the first time is slow because the indexes are not yet loaded.
  Is there a way to force the loading?
  Is there a way to load the full database from file and to keep it in memory (file size is around 1.5Gb)?</p>
  
  <p>Any help to improve is welcomed!</p>
  
  <p>Sébastien.</p>