2011-12-14 26 views
14

私はSQLiteデータベースにデータを格納することに関する小さな質問があります。どのように多くのレコードをSQLiteデータベースに保存することができますか?制限はありますか?データがこの制限を超えた場合、どのような種類のエラーが発生しますか?システム全体が失敗するか、それ以外に何が起こるのでしょうか? thisページに基づいてSQLiteデータベースの最大記憶容量

+0

関連:http://stackoverflow.com/questions/3482635/what-is-a-maximum-size-of-sqlite-database-on-android – nawfal

+0

1テラバイト.... –

答えて

13

のAndroidは、標準のSQLite 概念を超えて任意の制限を課しません。レコードをすばやく見つけるために一意のIDとして使用できる自動インクリメント値キーフィールド を含めることをお勧めします。プライベートデータには が必要ですが、コンテンツプロバイダを実装する場合は、 BaseColumns._ID定数を使用して一意のIDを含める必要があります。

制限はSQLite limitationに制限されています。私たちがその限界に達すると何が起こったのか、アンドロイドはSQLiteFullExceptionを起こすと思います。

+0

おかげ@silent 、私が1 0r 2日を格納する場合15分のperidiocityのためのsqliteの位置情報は、完全になりますか?データベースが一杯になった場合、どのようにテーブルを切り捨てることができますか? –

+2

4 * 24 = 96エントリー/日= 1.000.000.000/96 =〜28500年。私はあなたの状況のた​​めに、あなたは切り捨てる必要がないと思う。ただし、 'DELETE * FROM yourtable'を実行してデータを切り捨てることはできます。 – ariefbayu

+0

コンセプトをクリアしてくれてありがとう....ありがとう!! –

3

最大140テラバイト。より詳細に

のSQLiteは元々任意 制限を回避する方針で設計しました。もちろん、有限の メモリとディスクスペースを持つマシン上で実行されるすべてのプログラムには、ある種の制限があります。しかし、SQLiteでは、それらの の制限は明確に定義されていませんでした。このポリシーは、メモリが に収まる場合に、32ビット整数でカウントできるとした場合、 が動作するはずです。

関連する問題