CSV データベースは Android の SQLite データベースと比べてどうですか?
StackOverflow に関する他の質問を見て、Android 開発者向けドキュメントを読んで、SQLite データベースが CSV ファイルからデータを読み取るよりもはるかに頻繁に使用されているのを見てきました。また、ユーザーが CSV ファイルを SQLite データベースにインポートしたいという質問もいくつかあります (たとえば、この質問またはこの質問)。CSV よりも SQLite を使用する利点はありますか?
CSV と SQLite の両方を少し使用してみましたが、パフォーマンスに関しては大きな違いは見られませんが、ここで間違っている場合は修正してください。
CSVファイルを読み取るにはさまざまな方法があることを知っているBufferedReader
ので、次のように開いて読み取りました。
BufferedReader reader =
new BufferedReader(new InputStreamReader(context.getAssets().open(fileName)));
そして、SQLite データベースは通常の方法で開かれました。
SQLiteDatabase db = helper.getReadableDatabase();
機能の違いについてはよくわかりませんが、SQLite の方が管理とフィルター処理が簡単であると想定しているため、この質問をしています。
要約すると:
- パフォーマンスの点で 2 つのどちらかが高速ですか?
- SQLite(またはCSV)には、特にAndroidでは、他の機能にはない追加機能があります(Androidには独自の
SQLiteDatabase
クラスがあることを知っているので? - SQLite が CSV データベース (つまり、CSV ファイルの読み取りとフィルタリング) よりもはるかに多く使用されているように見えるのはなぜですか?
編集:
明確にするために、CSVファイルは値をコンマで区切った単なるファイルであり、SQLデータベースのような「データベース」ではないことを知っています。ただし、特定の列が特定の値と一致するかどうかを確認することで、CSV ファイルを一種のデータベースとして使用することもできます。カンマ区切りの値は異なる列を示し、フィルター処理することもできます。そこで、どちらからデータを読み取るのが良いかを尋ねています。