【问题标题】:ORMLite poor performance on Android?ORMLite 在 Android 上性能不佳?
【发布时间】:2011-08-26 14:42:22
【问题描述】:

我正在为Android开发一个应用程序,并尝试使用ORMLite,但性能似乎真的很差。有其他人经历过吗?

还是我做错了什么?

编辑

不,我没有进行任何连接,所有查询都是使用索引键作为参数进行的。但数据集相当大,比较多。

还没有尝试过使用纯 SQLite...

【问题讨论】:

  • 可能有助于发布表现不佳的代码/数据。一些问题要问:有加入吗?连接字段是否已编入索引?您是否有大量列被映射?一个真正的大数据集?您自己编写查询时是否遇到与 SQLite 相同的性能问题? SQLite 实际为您性能不佳的查询生成了哪些 SQL?

标签: android sqlite ormlite


【解决方案1】:

我想最好的答案是ORMLite 的性能很大程度上取决于您如何使用它。如果您可以发布一些代码示例以及一些性能数据,我们或许可以提供更具体的帮助。

如果您同时进行多项数据库操作,则应考虑使用Dao.callBatchTasks() 方法。在Android下,它启动一个数据库事务,调用传入的Callable,返回后提交事务。例如,如果您要在表中插入多行,这会明显更快。

另见:Why is the DAO method so slow in ORMLite?

编辑

如果您的查询需要一段时间,那么很可能时间都花在了 SQLite 中。您可以尝试减少一些数据集或调整比较次数以查看是否运行得更快,这样您就可以明确确定 SQLite(更有​​可能只是 IO)是罪魁祸首。

【讨论】:

  • 要补充这一点,请考虑具有大量数据的典型 DB tweeks。这些可以包括将数据分区到不同的表或数据库中,这些表或数据库被分类以帮助选择在查询之前检查哪个分区。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
相关资源
最近更新 更多