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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...