Android:CSV数据库与SQLite数据库

前端之家收集整理的这篇文章主要介绍了Android:CSV数据库与SQLite数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

CSV数据库Android中的sqlite数据库相比如何?

查看StackOverflow上的其他问题,并阅读Android Developer Documentation,我看到sqlite数据库的使用频率远高于从CSV文件中读取数据.用户还希望将CSV文件导入sqlite数据库(例如,this questionthis 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 class
>为什么sqlite的使用远远超过CSV数据库(即读取和过滤CSV文件)?

编辑:

为了澄清,我知道CSV文件只是一个用逗号分隔值的文件,即不是作为sql数据库的“数据库”.但是,我仍然可以将CSV文件用作一种数据库,其中逗号分隔值表示不同的列,也可以通过检查特定列是否与特定值匹配来过滤.所以我问哪个更好从中读取数据.

最佳答案
sqlite和CSV并不是真的相同,这使得比较相当困难. sqlite是一个(有限的)sql数据库,这意味着您可以使用它来存储结构化和相关数据,以确保一致性(相关记录在删除时不会弄乱)和简单方法.

即使对于平面数据,sqlite也可以更轻松地查询数据的子集(例如,其中一列少于三的所有记录),根据您的需要对数据进行重新排序,并在中间的某处插入记录.

另一方面,CSV只是一个文本文件,可用于非常简单的数据.它的开销很小,但从数据完整性和易查询的角度来看,它无助于您.如果您不需要它,并且始终阅读所有内容,请务必使用CSV.

如果没有任何响铃给你(相关记录和数据完整性等),我建议阅读关系数据库系统.一如既往,Wikipedia is an excellent source.

猜你在找的Android相关文章