15

Android では、SQLite にデータを入力すると、.txt ファイルよりも多くの時間とコード行を使用します。

.txt にデータを保存し、FileReader を使用すると、データを取得するのに便利です。

File ではなく SQLite を使用する利点は何ですか?

4

2 に答える 2

38

ファイル ストレージに対する SQLite データベースの利点

  • 関連するデータがある場合、通常のファイルではそれらの関係を示すことはできません。SQLite データベースはそうします。
  • SQLite を使用すると、データを構造化された方法で保存できます。
  • SQLite の方がパフォーマンスが高いです。
  • SQLite データベースにもクエリを実行でき、データの取得はより堅牢になります。
  • android.database および android.database.sqlite パッケージは、ソースの互換性が問題にならない高性能の代替手段を提供します。
  • Android で作成された Android データベースは、それらを作成したアプリケーションにのみ表示されます
  • ファイルを解析してコードを生成し、記述してデバッグする必要はありません。
  • 強力な SQL クエリを使用してコンテンツにアクセスおよび更新できるため、アプリケーション コードの複雑さが大幅に軽減されます。
  • 新しいテーブルまたは新しい列を既存のテーブルに追加するだけで、後のリリースでの新機能のためにファイル形式を拡張できます。
  • 「ファイルの山」として保存される可能性のあるさまざまなコンテンツを、1 つのディスク ファイルにカプセル化できます。
  • コンテンツは、サードパーティ ツールを使用して表示できます。
  • アプリケーション ファイルは、すべてのオペレーティング システム、32 ビットと 64 ビット、およびビッグ エンディアンとリトル エンディアンのアーキテクチャ間で移植可能です。
  • アプリケーションは、アプリケーション ファイル全体を読み取って完全な解析をメモリに保持するのではなく、必要なだけのデータをロードするだけで済みます。起動時間とメモリ消費量が削減されます。
  • 小さな編集では、ファイル全体ではなく、ファイルの変更部分のみが上書きされるため、パフォーマンスが向上し、SSD ドライブの摩耗が軽減されます。
  • 電源障害やクラッシュが発生した場合でも作業が失われないように、コンテンツは継続的かつアトミックに更新されます。
  • アプリケーションは、SQLite に組み込まれている全文検索と RTREE 機能を活用できます。
  • パフォーマンスの問題は、多くの場合、アプリケーション コードを再設計、書き直し、再テストするのではなく、CREATE INDEX を使用して解決できます。
  • おそらく異なるプログラミング言語で書かれたプログラムのフェデレーションは、互換性の問題なしに同じアプリケーション ファイルにアクセスできます。
  • 複数のプロセスが同じアプリケーション ファイルにアタッチでき、相互に干渉することなく読み書きできます。
  • セッション間の取り消し/やり直しは、トリガーを使用して実装できます。
  • 多くの一般的なケースでは、SQLite データベースからコンテンツをロードする方が、個々のファイルからコンテンツをロードするよりも高速です。詳細については、内部 BLOB と外部 BLOB を参照してください。
  • SQLite データベースに格納されたコンテンツは、元のアプリケーションのすべての痕跡が失われてからずっと後になっても、数十年後に復元できる可能性が高くなります。データはコードよりも長く存続します。
于 2013-11-13T05:52:29.557 に答える