4

SQLiteを使用するアプリケーションがあります。7つの異なるデータベースファイルを使用し、それぞれに。で作成された接続がありsqlite3_openます。これらのうち6つはパフォーマンスに重要ではありませんが、1つは重要です。

を使用して、パフォーマンスが重要なデータベース接続でのメモリキャッシュを増やしたいのですがPRAGMA cache_size。ただし、これにより、すべての接続のキャッシュサイズが変更されます。7つのデータベースのそれぞれに、パフォーマンスが重要なデータベースを使用するのに必要なだけのメモリを使用するのに十分なメモリがありません。

この設定がすべての接続に影響することを確認しました。また、共通のプールがないことを確認しました。各接続は、指定されたメモリ量に個別に制限されています。

簡単な回避策はありますか?

4

1 に答える 1

3

PRAGMA cache_size1つのデータベース接続にのみ影響します。

接続が(またはと)共有されていないことを確認してください。sqlite3_enable_shared_cacheSQLITE_OPEN_SHAREDCACHE

于 2013-03-20T07:46:43.487 に答える