それぞれ5列のテーブルが3つあります。それぞれ最大15行まで拡張できます。このためにSQLiteデータベースを用意するのは理にかなっていますか、それともファイルで十分ですか?私は純粋なパフォーマンスベースについて話している。
5 に答える
私の提案は、Sqlite
データをナビゲートし、データを非常に簡単に変更できるカーソルを持つSqliteを選択することです。
と同じことFile
は非常に複雑です。そのため、、などの文字列関数を実行する必要がありますindexOf()
。subString()
replace()
パフォーマンスの観点からはこれはほとんど問題になりませんが、メンテナンスの観点からは、SQLアプローチを使用する必要があります。一般的によく知られている方法がある場合は、難解な自作アプローチを避けてください:)また、フラットファイルよりもデータベースのコードを作成する方がはるかに高速であるはずです。また、パフォーマンスの問題があることを測定して確認できるまで、最適化しないでください。
何らかの並行性のサポートが必要ですか?もしそうなら、SQLiteは自分で構築するのではなく、理にかなっています。
関係や保存しているデータの形式に関して、データの整合性を維持する方が簡単である可能性があるため、データベースを使用することをお勧めします。テーブルの更新時にエラーが発生するのは簡単ですが(例外はデータの破損を防ぐのに役立ちます)、不正な形式のデータを独自の形式で書き出すのは手遅れになるまで簡単に見つけられない場合があります。
パフォーマンスは、おそらく有効なデータを維持することに次ぐはずです。
また、DBソリューションにも明確に投票します。上記の利点に加えて、とにかく学ぶことは良いことです-そして-正直に言って-すべての問題を考えると、ファイルシステムソリューションよりも難しくも多くの作業もありません。
ちなみに、当時私はこのチュートリアルでDBを学びました:http://developer.android.com/resources/tutorials/notepad/index.html
それは他のいくつかの理由で非常に役に立ちました...
MySQLデータベースがまだなく、トリッキーな結合が必要ない場合は、ファイルシステムを使用してください。
私はAndroidではなくWebを使用していますが、JavaScriptを使用してファイルシステムからJSONマニフェストを消費することに大きな成功を収めています。データベースのオーバーヘッドを削減するのはとても素晴らしいことであり、ファイルシステムは事実上瞬時に実行されます。