2016-04-16 4 views
3

テーブルのサイズに制限はありますか? 1秒に1度平均して新しいデータを追加する必要があります。 私は、Bluetoothデバイスから情報を保存していますので、毎秒最新の情報を取得して、アプリがフォアグラウンド/バックグラウンドであることを確認します。レルムテーブルにサイズ制限がありますか?

ありがとうございます。

答えて

6

レルムはファイルにアクセスするためにメモリマッピングを使用します。 OSによっては、1プロセスあたりの仮想アドレス空間が限られています。私たちの経験では、これは限界です、あなたが最初にヒットするでしょう。

良いニュースは、何百万ものオブジェクトを持つことができるということです。

本当に大きなRealmデータベースの場合、ファイルはスレッドごとに一度メモリマップされている必要があります。その理由は、基本となるストレージエンジン内の現在のアーキテクチャであるためです。これは私たちの拘束力に影響します。同時書き込みが多く、アクセサーが長期間保持されていると、限界にぶつかる可能性が高くなります。
そのため、通常、単一のスレッドから書き込みを行い、大きなトランザクションに一括書き込みすることをお勧めします。これにより、多くの中間バージョンが作成されるのを防ぐことができます。中間バージョンもファイルに保持する必要があります。

compactメソッドを使用すると、レルムデータベースが占有するサイズを小さくすることができます。これは、そのファイルが他のアクセサによって開かれていない場合に限り使用する必要があります。

関連する問題