Java 房间:插入(对象)与插入(列表<;对象>;)的性能

Java 房间:插入(对象)与插入(列表<;对象>;)的性能,java,android,database,android-room,Java,Android,Database,Android Room,在循环中向数据库插入对象是否比插入列表性能低?我花了很多时间在我的DAO中实现insert(List)方法,但似乎性能较差 UPD。 我在列表中实现了更高效的打包,而insert(List)…get(List)方法的性能提升超过了10倍。 我使用了2-5个对象的小列表,因此我看不到性能增益插入(列表)比插入(对象)性能更好。 从循环内部调用insert(对象)时,每次插入都必须启动一个新事务。另一方面,当您使用insert(List)时,文件室启动单个事务并使用该事务插入所有行。尝试导航到生成的

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

UPD。 我在列表中实现了更高效的打包,而insert(List)…get(List)方法的性能提升超过了10倍。 我使用了2-5个对象的小列表,因此我看不到性能增益

插入(列表)比插入(对象)性能更好。
从循环内部调用insert(对象)时,每次插入都必须启动一个新事务。另一方面,当您使用insert(List)时,文件室启动单个事务并使用该事务插入所有行。尝试导航到生成的代码并阅读实现。

“我花了很多时间来实现插入(列表)方法”您做了什么?它应该只不过是添加一个方法,将一个
列表
或一个实体数组添加到接口中,如示例中所示,或者至多添加一个
@Transaction
注释,如@zapl I has Comment object,其中包含DBComment entity、少量DBUser entity、父Comment object和其他对象。非常复杂的递归结构。我必须插入每个子对象。有了insert(列表),它比insert(Obj)更复杂。我有点迷路了。。。你在实施什么?room的重点是让它为您实现这项艰巨的工作。@RaymondArteaga对我来说艰巨的工作是数据库设计和查询=)我以为room可以提供批量插入单个对象的服务。关于
@Transaction