Database DBIx::Class中的populate和create方法之间有什么区别?
有人能解释一下在什么情况下我必须在DBIx::Class中的ResultSet上使用Database DBIx::Class中的populate和create方法之间有什么区别?,database,perl,dbix-class,Database,Perl,Dbix Class,有人能解释一下在什么情况下我必须在DBIx::Class中的ResultSet上使用create或populate方法吗?若每个人都被用来向数据库插入一些数据,那个么它们之间又有什么区别呢 UPD 例如我必须在表1中插入一些数据。它有创建和填充方法。因此,如果存在任何关系,我必须使用create,否则我必须使用populate,不是吗?创建插入一行(以及其他表中可能关联的行)。填充插入多行。作为添加的信息和预防措施: 插入始终有效(通常如预期)。您可以使用它插入许多表, 问题是性能 插入大量数据
create
或populate
方法吗?若每个人都被用来向数据库插入一些数据,那个么它们之间又有什么区别呢
UPD
例如我必须在表1中插入一些数据。它有创建和填充方法。因此,如果存在任何关系,我必须使用
create
,否则我必须使用populate
,不是吗?创建插入一行(以及其他表中可能关联的行)。填充插入多行。作为添加的信息和预防措施:
插入始终有效(通常如预期)。您可以使用它插入许多表,
问题是性能
插入大量数据时,填充速度要快得多。但是,它有时确实会表现得很奇怪,所以您应该仔细测试它(就像一切;))。通常情况下,它工作正常,但是,当您插入数千个条目时,您会注意到速度显著提高。是否只在一个表中插入多行?你能举一些例子来说明它吗?你可以使用DBIC_TRACE,自己看一个例子。用于填充的DBIx::Class参考文档有一些例子:@abraxxa我读过关于它的文档和手册,但我想看看这两种方法是如何通过这个例子来区分的。试着解释一下我想要什么。我必须在表1中插入一些数据。它有
create
和populate
方法。因此,如果存在任何关系,我必须使用创建
,否则我必须使用填充
,不是吗?@edem不,不,不。它几乎没有那么复杂。您可以使用create
在表1中插入一项内容。您可以使用填充
插入多个内容。