web-dev-qa-db-ja.com

Androidパフォーマンス:フラットファイルとSQLite

Stackoverflowに関するこのトピックに関連する質問はほとんどありませんが、適切な回答が得られませんでした。フラットファイルのパフォーマンスに疑問があります。SQLiteの代わりにフラットファイルを使用する方が良いですか?誰かがパフォーマンス統計を持つことができますか?または、Androidでフラットファイルをコーディングする適切な方法の例。

25
Nimit

パフォーマンス上の利点の他に、フラットファイルではなくSQLiteを使用する利点の簡単なリストを次に示します。

  • 必要に応じてアイテムをクエリできます。すべてのアイテムを読み込んで、必要なアイテムを選択する必要はありません。
  • レコードの削除は、はるかに簡単なプロセスです。ファイル全体をどこにでも書き換えることはありません。
  • レコードの更新は、レコードを削除または作成するのと同じくらい簡単です。
  • フラットファイルで相互参照ルックアップを実行しようとしたことがありますか?それだけの価値はありません。

要約すると、データベースがテキストファイルよりも優れている点はすべてあります。

31
josephus

それはあなたの要件に依存します。

ストレージデータのサイズが構造化されている場合(サイズが大きい場合)、SQLiteをお勧めします。一方、データサイズが1行または数行の場合は、フラットファイルが最適なオプションです。

それらの違いは、SQLiteがデータを構造化された形式で保存するため、フラットファイルの場合は非常に面倒なプロセスである複数のレコードセットからレコードを見つけるのが簡単になることです。

ただし、blobの種類のデータを保存する場合は、SQLiteとファイルシステムの両方を組み合わせて使用​​することをお勧めします。つまり、画像/音声/ビデオデータをファイル形式で保存し、それらのパスをSQLiteに保存します。

こちらもご覧ください パフォーマンスへのアクセス

10
Lucifer