这种方法背后的一些真实数据。
第一种方法。
foreach 找到的项目
$bean = R::dispense('bean');
$bean->title = "hello";
R::store("bean");
在我的 Mac 上 5660 行花费的时间 = 43 秒
第二种方法。
$beans=array();
$beans[]=R::dispense('bean');
$beans[]=R::dispense('bean');
$beans[0]->title='Hello World!';
$beans[1]->title='Hello World!1';
R::storeAll($beans);
对于 5660 行,46 秒。 storeAll 是一直存在的地方。所以储存这些豆子需要很长时间。
第三种方法
$beans=R::dispense('bean',5560);
for loop
$bean[$i]->title = "hello world";
end for
R::storeAll($beans);
对于 5660 行 45 秒。
结果。这些方法都不是更快。 : (
RedBean Transactions 似乎也没有让这变得更快
来自RedBean的创建者https://stackoverflow.com/a/18811996/445492不支持批量插入,使用纯sql。
第四种方法
for loop
R::exec("insert into bean(title) values (1,'hello world')");
end for
对于 5660 行 7.3s