有人可以解釋在哪些情況下,我必須在DBIx :: Class中的ResultSet上使用create
或populate
方法?如果每個人都習慣將一些數據插入數據庫,那麼彼此之間有什麼區別?在DBIx :: Class中填充和創建方法有什麼區別?
UPD 例如,我必須向table1插入一些數據。有創建和填充它的方法。所以我必須使用create
如果有任何關係,否則我必須使用populate
,不在嗎?
有人可以解釋在哪些情況下,我必須在DBIx :: Class中的ResultSet上使用create
或populate
方法?如果每個人都習慣將一些數據插入數據庫,那麼彼此之間有什麼區別?在DBIx :: Class中填充和創建方法有什麼區別?
UPD 例如,我必須向table1插入一些數據。有創建和填充它的方法。所以我必須使用create
如果有任何關係,否則我必須使用populate
,不在嗎?
創建插入一行(並可能在其他表中關聯的行)。填充插入多行。
作爲附加信息和預防措施:
插入始終工作(通常按預期)。你可以用它來插入很多表, 的問題是性能。
插入大量數據時,填充速度要快得多。但是,它確實有時表現得很奇怪,所以你應該仔細測試它(就像所有的東西一樣))。通常情況下,它工作正常,而且,當您插入數千個條目時,您會注意到速度顯着提高。
是隻在一張表中插入多行嗎?你能舉一些例子來說明嗎? – edem 2013-03-19 20:09:40
您可以使用DBIC_TRACE並自己查看示例 – ugexe 2013-03-19 20:37:43
用於填充的DBIx :: Class參考文檔包含示例:https://metacpan.org/module/DBIx::Class::ResultSet#populate – 2013-03-19 21:56:55