CSV 数据库与 Android 中的 SQLite 数据库相比如何?
查看 StackOverflow 上的其他问题并阅读 Android 开发者文档,我发现 SQLite 数据库的使用频率远高于从 CSV 文件中读取数据的频率。还有一些用户想要将 CSV 文件导入 SQLite 数据库的问题(例如,this question或this one)。使用 SQLite 而不是 CSV 有优势吗?
我尝试过使用 CSV 和 SQLite,在性能方面我没有看到很大的差异,但如果我在这里错了,请纠正我。
据我所知,读取 CSV 文件有不同的方法,我使用以下方法打开并读取它BufferedReader
:
BufferedReader reader =
new BufferedReader(new InputStreamReader(context.getAssets().open(fileName)));
并且 SQLite 数据库以通常的方式打开:
SQLiteDatabase db = helper.getReadableDatabase();
我不太确定功能上的差异,尽管我假设 SQLite 更容易管理和过滤,这就是我问这个问题的原因。
所以总结一下:
- 两者中的任何一个在性能方面更快吗?
- SQLite(或 CSV)是否有其他没有的附加功能,尤其是在 Android 中(我知道 Android 有自己的
SQLiteDatabase
类? - 为什么 SQLite 的使用似乎远远超过 CSV 数据库(即读取和过滤 CSV 文件)?
编辑:
澄清一下,我知道 CSV 文件只是一个用逗号分隔值的文件,即不像 SQL 数据库那样是“数据库”。但是,我仍然可以将 CSV 文件用作一种数据库,其中逗号分隔的值表示不同的列,也可以通过检查特定列是否与特定值匹配来过滤这些列。所以我问哪个更好地读取数据。