2011-07-01 19 views

Respuesta

3

no estoy seguro de lo que está tratando de lograr aquí, pero tengo dos ideas para proponer:

1- Copia de todo, desde su base de datos adjunta a alguna base de datos en memoria. Este enlace le dirá cómo adjuntar una base de datos en memoria: http://www.sqlite.org/lang_attach.html

2- aumentar el tamaño de caché, mantener las transacciones en la memoria, y mantener la "tienda temp" en la memoria: http://www.sqlite.org/pragma.html#pragma_cache_size http://www.sqlite.org/pragma.html#pragma_journal_mode http://www.sqlite.org/pragma.html#pragma_temp_store

1

This article proporciona un buen ejemplo, a saber:

sqlite> attach database ':memory:' as mydb; 
sqlite> .schema 
CREATE TABLE log(ts,msg TEXT); 
sqlite> create table mydb.log as select * from log; 
sqlite> select * from mydb.log order by ts desc limit 5; 

sin embargo, yo era un poco decepcionado, ya que las mejoras en la velocidad que esperaba no se cumplieron. Supongo que I'm not alone. El conjunto de datos que probé es> 300MB, mucho más allá del tamaño de caché de página predeterminado dado allí, por lo que podría imaginarse que cargar toda la base de datos en la RAM produciría resultados notables, pero no fue realmente el caso. ¿Algún thoghts?

+0

Debería describir qué mejoras está tratando de obtener ... Parece que tal vez necesite definir algunos índices y asegurarse de que se usan como se esperaba. Si publica más información, como la estructura de su (s) tabla (s), y el SQL que necesita mejorar, tal vez yo o los demás podamos ayudarlo. –

Cuestiones relacionadas