7

sqlite3 CLI ツールを使用して、より高速な結果を得るために SQLite データベース全体をメモリにロードする方法はありますか? ありがとう!

4

2 に答える 2

4

ここで何を達成しようとしているのかよくわかりませんが、提案するアイデアが 2 つあります。

1- データベースからアタッチされたインメモリ データベースにすべてをコピーします。このリンクは、メモリ内データベースをアタッチする方法を教えてくれます: http://www.sqlite.org/lang_attach.html

2-キャッシュサイズを増やし、トランザクションをメモリに保持し、「一時ストア」をメモリに保持します: 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

于 2011-07-01T08:40:50.563 に答える
3

この記事は良い例を提供します、すなわち:

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;

しかし、期待していたスピードの向上が見られなかったので、少しがっかりしました。私は一人ではないと思います。私が試したデータセットは>300MBで、そこにあるデフォルトのページキャッシュサイズをはるかに超えているため、データベース全体をRAMにロードすると顕著な結果が得られると想像できますが、実際にはそうではありませんでした。何か考えはありますか?

于 2011-07-01T20:24:33.843 に答える