存储大型 JSON 的最佳数据库
the best database for storing a large JSON
在使用 JACKSON 解析后,我有一个 json 的大文件,我必须将它存储到数据库中,这需要几分钟,所以我的问题
1-有什么办法可以加快存储速度吗?
2-还有另一个数据库?
3-使用对象数据库可以帮助我吗?,
我使用 SQLITE 数据库,我听说过 RealM,但我不确定是否会使用它,帮帮我
如果您直接将 json 存储在 sqlite 中,您可能正在做一些事情 "wrong"。
当您需要对象之间的关系时,数据库很有用,因此您有表、索引、键和类似的东西。
不管怎么说,几分钟的时间真的很奇怪,但我建议你重新考虑你的架构,也许只是把它写在一个文件上。
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
在使用 JACKSON 解析后,我有一个 json 的大文件,我必须将它存储到数据库中,这需要几分钟,所以我的问题 1-有什么办法可以加快存储速度吗? 2-还有另一个数据库? 3-使用对象数据库可以帮助我吗?, 我使用 SQLITE 数据库,我听说过 RealM,但我不确定是否会使用它,帮帮我
如果您直接将 json 存储在 sqlite 中,您可能正在做一些事情 "wrong"。
当您需要对象之间的关系时,数据库很有用,因此您有表、索引、键和类似的东西。
不管怎么说,几分钟的时间真的很奇怪,但我建议你重新考虑你的架构,也许只是把它写在一个文件上。
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