Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database DBIx::Class中的populate和create方法之间有什么区别?_Database_Perl_Dbix Class - Fatal编程技术网

Database DBIx::Class中的populate和create方法之间有什么区别?

Database DBIx::Class中的populate和create方法之间有什么区别?,database,perl,dbix-class,Database,Perl,Dbix Class,有人能解释一下在什么情况下我必须在DBIx::Class中的ResultSet上使用create或populate方法吗?若每个人都被用来向数据库插入一些数据,那个么它们之间又有什么区别呢 UPD 例如我必须在表1中插入一些数据。它有创建和填充方法。因此,如果存在任何关系,我必须使用create,否则我必须使用populate,不是吗?创建插入一行(以及其他表中可能关联的行)。填充插入多行。作为添加的信息和预防措施: 插入始终有效(通常如预期)。您可以使用它插入许多表, 问题是性能 插入大量数据

有人能解释一下在什么情况下我必须在DBIx::Class中的ResultSet上使用
create
populate
方法吗?若每个人都被用来向数据库插入一些数据,那个么它们之间又有什么区别呢

UPD
例如我必须在表1中插入一些数据。它有创建和填充方法。因此,如果存在任何关系,我必须使用
create
,否则我必须使用
populate
,不是吗?

创建插入一行(以及其他表中可能关联的行)。填充插入多行。

作为添加的信息和预防措施:

插入始终有效(通常如预期)。您可以使用它插入许多表, 问题是性能


插入大量数据时,填充速度要快得多。但是,它有时确实会表现得很奇怪,所以您应该仔细测试它(就像一切;))。通常情况下,它工作正常,但是,当您插入数千个条目时,您会注意到速度显著提高。

是否只在一个表中插入多行?你能举一些例子来说明它吗?你可以使用DBIC_TRACE,自己看一个例子。用于填充的DBIx::Class参考文档有一些例子:@abraxxa我读过关于它的文档和手册,但我想看看这两种方法是如何通过这个例子来区分的。试着解释一下我想要什么。我必须在表1中插入一些数据。它有
create
populate
方法。因此,如果存在任何关系,我必须使用
创建
,否则我必须使用
填充
,不是吗?@edem不,不,不。它几乎没有那么复杂。您可以使用
create
在表1中插入一项内容。您可以使用
填充
插入多个内容。