ファイルに既存のデータベースがあります。私はメモリにデータベースをロードしたい。私はたくさんのクエリを実行しており、データベースはそれらのクエリを固定するために非常に大きくはありません(< 50MB)。これを行う方法はありますか?既存のSQLiteデータベースをメモリにロード
答えて
50 MBはOSファイルキャッシュに簡単に収まります。何もする必要はありません。
ファイルロッキングの結果、オーバーヘッドが目に見えない場合は、exclusive locking modeの使用を検討してください。
RAM driveを作成し、データベースにHDD/SSDホストファイルの代わりにこれらのファイルを使用させることができます。あなたが非常識な性能要件を持っているなら、あなたはインメモリデータベースに行くこともできます。
メモリ内のソリューションを実行する前に:「多くのクエリ」とは何ですか?クエリごとに予想される応答時間は何ですか?データベースプログラムがパフォーマンスのボトルネックではなく、アプリケーションコードが遅いか、非効率なクエリ/インデックスが欠落する可能性があります。
私はSQLiteがデータベースへの同時アクセスをサポートしていないと思うので、多くのパフォーマンスが浪費されます。書き込みがまれにしか発生しない場合は、データベースのコピーを保持し、異なるスレッドが異なるSQLiteインスタンスを読み取るようにすることでパフォーマンスを向上させることができます。
CLとRayによって提案されたソリューションのいずれも、ファイルシステムのオーバーヘッドの単純な事実(データがキャッシュされているかどうか、および/またはRAMドライブにあるかどうかにかかわらず)これらの測定値は役に立ちますが、ファイルシステムを完全に破棄することはできません)。
SQLiteでは複数の並行読者が許可されますが、書込みトランザクションがあれば読者は読者が完了するまでブロックされます。
SQLiteでは、メモリ内のデータベースを1つのプロセスで使用できますが、そのプロセスには複数のスレッドが含まれている可能性があります。
永続SQLiteデータベースをメモリ内のデータベースとしてロード(オープン)することはできません(少なくとも、最後に調べたとき)。 2番目のインメモリー・データベースを作成し、インメモリー・データベースをロードするために永続データベースから読み取る必要があります。しかし、データベースがわずか50 MBであれば、それは問題ではありません。サードパーティのツールでは、メモリ内のSQLiteデータベースを保存してからリロードすることができます。
- 1. 高速計算のために既存のSqliteデータベースをメモリにロード
- 2. 既存のdbファイルをメモリPython sqliteにロードしますか?
- 3. phonegapに既存のSQLiteデータベースを使用
- 4. Cayenneの既存のSQLiteデータベースを使用
- 5. 既存のsqliteデータベースを開く - HTML5
- 6. 既存のSQLiteデータベースからのGeoPoints
- 7. Androidタブレットの内部メモリ(API 23)にSQLiteデータベースを保存
- 8. androidの既存のsqliteデータベースのデータを更新するには
- 9. 既存のSQLiteデータベースにテーブルを追加する
- 10. .apkプロジェクトに既存のsqliteデータベースを接続する方法は?
- 11. iOSで既存のSQLiteデータベースを使用するには?
- 12. データベース全体をメモリにロード
- 13. androidに既に存在するsqliteデータベースにアクセスする方法
- 14. Android SQLite Nullポインタ例外既存のデータベースを使用
- 15. Androidで既存のSQLiteデータベースを使用する
- 16. 既存のSQLiteデータベースからテキストを表示する方法
- 17. cordova-plugin-sqliteのアップデート - 既存のデータベースの読み込み方法?
- 18. 既存のデータベース
- 19. 既存のデータベース
- 20. データをSQLiteデータベースに保存
- 21. SQLiteデータベースを保存
- 22. SQLiteでの一時的なメモリ内データベース
- 23. メモリsqliteデータベースiOSでの問題?
- 24. 既存データベースのORMLite
- 25. パッチの更新中に既存のSQLiteデータベースを削除しない方法
- 26. 私の既存のSQLiteデータベースを迅速にアクセスする方法3
- 27. 既存のゲームオブジェクトを2D配列にロード
- 28. 既存のマットにイメージをロード
- 29. SQLiteテーブルが存在しません既存のSQLiteデータベース(およびテーブル)の例外
- 30. アンドロイド - SQLiteのデータベース保存