CSV数据库与Android中的sqlite数据库相比如何?
查看StackOverflow上的其他问题,并阅读Android Developer Documentation,我看到sqlite数据库的使用频率远高于从CSV文件中读取数据.用户还希望将CSV文件导入sqlite数据库(例如,this question或this one).使用sqlite而不是CSV有优势吗?
我尝试过使用CSV和sqlite一点点,在性能方面我没有看到很大的区别,但如果我在这里错了,请纠正我.
据我所知,有不同的读取CSV文件的方法,我打开并使用BufferedReader读取它,如下所示:
BufferedReader reader =
new BufferedReader(new InputStreamReader(context.getAssets().open(fileName)));
sqliteDatabase db = helper.getReadableDatabase();
我不太确定功能上的差异,虽然我假设sqlite更容易管理和过滤,这就是我问这个问题的原因.
总结一下:
>在性能方面,两者中哪一个更快?
> sqlite(或CSV)是否具有其他功能,特别是在Android中(因为我知道Android有自己的SQLiteDatabase
class?
>为什么sqlite的使用远远超过CSV数据库(即读取和过滤CSV文件)?
编辑:
为了澄清,我知道CSV文件只是一个用逗号分隔值的文件,即不是作为sql数据库的“数据库”.但是,我仍然可以将CSV文件用作一种数据库,其中逗号分隔值表示不同的列,也可以通过检查特定列是否与特定值匹配来过滤.所以我问哪个更好从中读取数据.
即使对于平面数据,sqlite也可以更轻松地查询数据的子集(例如,其中一列少于三的所有记录),根据您的需要对数据进行重新排序,并在中间的某处插入记录.
另一方面,CSV只是一个文本文件,可用于非常简单的数据.它的开销很小,但从数据完整性和易查询的角度来看,它无助于您.如果您不需要它,并且始终阅读所有内容,请务必使用CSV.
如果没有任何响铃给你(相关记录和数据完整性等),我建议阅读关系数据库系统.一如既往,Wikipedia is an excellent source.