在循环中将对象插入数据库的性能是否比插入列表低?我花了很多时间在我的DAO中实现insert(List)方法,但似乎性能降低了。
UPD。 我在列表中实现了效率更高的打包,并且insert(List)... get(List)方法的性能提高了10倍以上。 我使用了2-5个对象的小列表,所以看不到性能提升
答案 0 :(得分:1)
insert(List)的性能将优于insert(Object)。 当您从循环内部调用insert(Object)时,必须为每次插入启动一个新事务。另一方面,当您使用insert(List)时,room启动单个事务并使用该事务插入所有行。尝试导航到生成的代码并阅读实现。