2011-07-01 40 views

Trả lời

3

Tôi không chắc chắn về những gì bạn đang cố gắng để hoàn thành ở đây, nhưng tôi có hai ý tưởng đề xuất:

1- Sao chép mọi thứ, từ cơ sở dữ liệu của bạn với một số cơ sở dữ liệu đính kèm trong bộ nhớ. Liên kết này sẽ cho bạn biết làm thế nào để đính kèm một trong cơ sở dữ liệu bộ nhớ: http://www.sqlite.org/lang_attach.html

2- Tăng kích thước bộ nhớ cache của bạn, giữ giao dịch trong bộ nhớ, và giữ cho "cửa hàng tạm thời" trong bộ nhớ: 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 cung cấp ví dụ điển hình, cụ thể là:

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; 

Tuy nhiên, tôi hơi thất vọng vì tốc độ cải thiện mà tôi hy vọng không được đáp ứng. Tôi đoán I'm not alone. Tập dữ liệu tôi đã thử là> 300MB, vượt quá kích thước bộ nhớ cache mặc định của trang, vì vậy bạn sẽ tưởng tượng rằng tải toàn bộ cơ sở dữ liệu vào RAM sẽ mang lại kết quả đáng chú ý, nhưng thực sự không phải như vậy. Bất kỳ thoghts?

+0

Bạn cần mô tả những cải tiến bạn đang cố gắng có được ... Âm thanh như có lẽ bạn cần phải xác định một số chỉ số và đảm bảo chúng được sử dụng như dự định. Nếu bạn đăng thêm thông tin, chẳng hạn như cấu trúc của bảng của bạn (s), và SQL cần cải tiến, có lẽ tôi hoặc những người khác sẽ có thể giúp đỡ. –

Các vấn đề liên quan