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