3

アプリのSQLiteDBにレコードを作成し、データを処理し、SQLiteDBからレコードを削除するサービスがあります。

SQLite DBのレコード数はかなり一定のままですが、SQLite DBは時間の経過とともに(おそらく1週間)成長していることがわかりました。

質問 データベースを拡張せずにレコードを追加および削除するためのベストプラクティスは何ですか?

私が使用するレコードを挿入するには: result = mDB.insert(table, null, kvpairs);

私が使用するレコードを削除するには: result = mDB.delete(table, where, null);

参照

AndroidSQLiteDatabase挿入

AndroidSQLiteDatabase削除

4

1 に答える 1

4

データベース内の空きページは再利用されるため、成長は無制限ではありません。

レコードをその場で更新してみることができますが、古いレコードを新しいレコードにマップできない場合、または一部の値でサイズが変更される場合は、これは役に立ちません。

VACUUMを定期的に実行するか、 PRAGMAauto_vacuumを有効にしてみてください。

于 2012-09-14T16:42:51.133 に答える