我使用ormlite创建了数据库:
当我从sqlite控制台查询时:
select * from records
result is:
3520 rows returned in 87ms from: SELECT * FROM `records`
现在我在ORMLite中做同样的事情:
DatabaseHelper.get().getRecordsDao().queryForAll();
此查询完成大约需要70秒。
为什么会有这么大的差异?
答案 0 :(得分:1)
此查询完成大约需要70秒。
取决于您的实体及其包含的字段。如果这是在Android下,通常额外的时间是内存带宽。当您执行SQL select *
时,它只返回文本。 ORMLite处理所有列,并创建数千个对应于实体中所有字段的对象。
此外,如果您还有急切加载的外来对象,则会导致调用其他查询以充实其他每个对象。