用于存储大型JSON的最佳数据库

时间:2015-02-16 09:48:33

标签: android json performance sqlite realm

在使用JACKSON解析后我有一个大的json文件,我必须将它存储到数据库中,这需要几分钟所以我的问题 1 - 有没有办法加快存储速度? 2-还有另一个数据库? 3-使用Object数据库可以帮助我吗?  我使用SQLITE数据库,我听说过RealM,但我不确定是否使用它,帮助我们

2 个答案:

答案 0 :(得分:1)

如果你直接在sqlite中存储json,你可能会做一些“错误的”。

当您需要对象之间的RELATIONSHIP时,数据库很有用,因此您有表,索引,键和类似的东西。

无论如何,它真的很奇怪,需要几分钟,但我建议你重新考虑你的架构,也许只是把它写在一个文件上。

答案 1 :(得分:0)

SQLite中的更改是ACID(原子,一致,隔离,持久)。这意味着每次更新,插入和删除操作都是ACID。不幸的是,这需要在数据库处理中产生一些开销,因此您应该在事务中将SQLite数据库中的更新包装起来,并在多次操作之后提交此事务。这可以显着提高性能。

以下代码演示了性能优化。

db.beginTransaction();
try {
   for (int i= 0; i< values.lenght; i++){
     // TODO prepare ContentValues object values
     db.insert(your_table, null, values);
     // In case you do larger updates
     yieldIfContededSafely()
     }
     db.setTransactionSuccessful();     
    } finally {
      db.endTransaction();
} 

REFS:http://www.vogella.com/tutorials/AndroidSQLite/article.html