2011-07-01 12 views

Odpowiedz

3

Nie jestem pewien, co staramy się osiągnąć tutaj, ale mam dwa pomysły proponujemy:

1- Kopiuj wszystko z bazy danych do niektórych dołączone w bazie pamięci. Ten link powie Ci, jak podłączyć w bazie danych pamięci: http://www.sqlite.org/lang_attach.html

2- zwiększyć rozmiar pamięci podręcznej, należy transakcje w pamięci i zachować „temp” sklep w pamięci: 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 stanowi dobry przykład, a mianowicie:

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; 

Jednakże, byłem trochę rozczarowany, gdyż usprawnień w szybkości miałem nadzieję, że nie zostały spełnione. Chyba I'm not alone. Zestaw danych, który wypróbowałem, jest> 300 MB, znacznie powyżej domyślnego rozmiaru pamięci podręcznej strony, więc możesz sobie wyobrazić, że ładowanie całej bazy danych do pamięci RAM przyniesie zauważalne wyniki, ale tak naprawdę nie było. Jakieś thogty?

+0

Musisz opisać, jakie ulepszenia próbujesz uzyskać ... Wygląda na to, że musisz zdefiniować niektóre indeksy i upewnić się, że są używane zgodnie z przeznaczeniem. Jeśli publikujesz więcej informacji, takich jak struktura twoich tabel i SQL, który wymaga poprawy, być może ja lub inni będziemy w stanie Ci pomóc. –

Powiązane problemy