Room:insert(Object)与insert(List <object>)的性能

时间:2018-10-30 17:02:02

标签: java android database android-room

在循环中将对象插入数据库的性能是否比插入列表低?我花了很多时间在我的DAO中实现insert(List)方法,但似乎性能降低了。

UPD。 我在列表中实现了效率更高的打包,并且insert(List)... get(List)方法的性能提高了10倍以上。 我使用了2-5个对象的小列表,所以看不到性能提升

1 个答案:

答案 0 :(得分:1)

insert(List)的性能将优于insert(Object)。 当您从循环内部调用insert(Object)时,必须为每次插入启动一个新事务。另一方面,当您使用insert(List)时,room启动单个事务并使用该事务插入所有行。尝试导航到生成的代码并阅读实现。