Android数据存储,何时使用Sqlite以及何时使用JSON,Linq替代方案

时间:2013-03-22 11:05:39

标签: android json performance sqlite

我有几年的使用.Net和C#的webdev的exp ...以及我真正喜欢的一个功能是用于查询数据的linq表达式..是否有任何类似的Android用于查询JSONs还是针对SqlLite数据库? (我想我正在寻找一个打字的表达式/查询框架)。

对于我的下一个问题..我应该使用哪种JSON方法和SQLLite方法..什么时候?我知道这已被问了一百万次..但似乎没有任何严格的答案..

SQLLite是否可以进行更复杂的查询,而且当我拥有更大的数据量时,虽然使用JSON同时拥有较少的数据并且需要进行非常多的查询?

我可以将所有JSON数据存储在内存中以便更快地进行读/写访问吗?因为我听说将它存储在存储/磁盘上可能是一个缓慢的过程。

但另一方面,我也听说过SQLLite通用性很慢......

最后......当我们说“慢”时它是慢的,单个读/写查找整个应用程序几毫秒或者它是否比执行查询的内存数据库慢和闪电一样快速的东西

3 个答案:

答案 0 :(得分:9)

  

何时使用SQLite

SQLite是如何保存数据,如何保护数据的一种形式。通常,如果您想存储更大量的数据并快速访问它们(如果这些数据“敏感”),SQLite也是很好的选择。因此,我不同意你的观点SQLite很慢,绝对不是我想的。

我有SQLite个数据库,大约有650,000条记录,而且表现仍然很聪明(有时需要使用索引)。

  

何时使用JSON

JSON是为人类可读的数据交换而设计的轻量级数据结构,主要是与语言无关的。如果你想通过网络发送数据(发送数据到远程服务器等),这是非常好的选择(也许是最好的),但我认为数据持久性并不是很好,因为它不像SQLite那样安全。

一般情况下,您应该将JSONXML进行比较,但无法比较两种不同的SQLite和JSON。

答案 1 :(得分:3)

一般理念

SqlLite:For Local Storage

JSON:For Server SideStore

答案 2 :(得分:1)

比较SQLite和JSON是没有意义的。一种是存储解决方案,另一种是数据格式。

在决定选择哪种存储解决方案(SQLite,首选项,文件系统......)之前,您应该阅读官方指南:http://developer.android.com/guide/topics/data/data-storage.html

如果你想使用SQLite持久性,你可以使用一些第三方ORM来简化查询(例如ORMLite是最受欢迎的)