gpt4 book ai didi

magento - 如何优化保存多个模型?

转载 作者:行者123 更新时间:2023-12-01 09:32:09 24 4
gpt4 key购买 nike

我需要手动将大量订单项保存到数据库中。我目前正在做这样的事情:

for($x=0; $x<250000; $x++)
{
$orderItem = Mage::getModel('sales/order_item');
$data = array('a'=>1, 'b'=>2, 'c'=>3);
$orderItem->setData($data)->save();
}

尝试从 shell 脚本运行此代码需要 永远。我可以使用哪些策略来加速此代码?

最佳答案

我不确定但看看@Mage::getModel('core/resource_transaction')

https://stackoverflow.com/a/4879133/1191288

您可以尝试批量保存 X 金额

 $batch = 500;
$orderItem = Mage::getModel('sales/order_item');
$transactionSave = Mage::getModel('core/resource_transaction');

for($x=0; $x<250000; $x++){
$orderItem->setData( array('a'=>1, 'b'=>2, 'c'=>3));
$transactionSave->addObject($orderItem);
$orderItem->reset()
if ($x % $batch == 0){
$transactionSave->save();
$transactionSave = null;
$transactionSave = Mage::getModel('core/resource_transaction');
}
}

if($x % $batch > 0)
$transactionSave->save();

关于magento - 如何优化保存多个模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14165850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com