ORMLite与纯SQLite选择性能

时间:2017-02-04 22:09:11

标签: java sqlite ormlite

我使用ormlite创建了数据库:

当我从sqlite控制台查询时:

select * from records

result is:

3520 rows returned in 87ms from: SELECT * FROM `records`

现在我在ORMLite中做同样的事情:

DatabaseHelper.get().getRecordsDao().queryForAll();

此查询完成大约需要70秒。

为什么会有这么大的差异?

1 个答案:

答案 0 :(得分:1)

  

此查询完成大约需要70秒。

取决于您的实体及其包含的字段。如果这是在Android下,通常额外的时间是内存带宽。当您执行SQL select *时,它只返回文本。 ORMLite处理所有列,并创建数千个对应于实体中所有字段的对象。

此外,如果您还有急切加载的外来对象,则会导致调用其他查询以充实其他每个对象。