保存Magento需要很长时间
在Magento中,我编写了许多小的命令行脚本,用于在许多产品上设置新属性。我发现更新900个产品需要大约6个小时才能完成 加载单个产品所需的时间与我的速度一样快,但一旦我做了更改,保存的动作需要很长时间 我附上我如何加载的情况下,我可以做一些事情,以更好地优化过程的产品。这里的任何帮助都将不胜感激保存Magento需要很长时间,magento,Magento,在Magento中,我编写了许多小的命令行脚本,用于在许多产品上设置新属性。我发现更新900个产品需要大约6个小时才能完成 加载单个产品所需的时间与我的速度一样快,但一旦我做了更改,保存的动作需要很长时间 我附上我如何加载的情况下,我可以做一些事情,以更好地优化过程的产品。这里的任何帮助都将不胜感激 $product = Mage::getModel('catalog/product')->load($magento_id); $product->setMadeInUsa(1); t
$product = Mage::getModel('catalog/product')->load($magento_id);
$product->setMadeInUsa(1);
try {
$product->save();
} catch(Exception $e) {
echo "ERROR: " . $e->getMessage() . "\n";
}
代码运行时不会出错,但会花费很长时间。请尝试先将索引设置为手动,然后在更新完成后重新索引。这将提高性能。但是,如果您要经常导入,最终的解决方案是遵循更新属性mass action中的代码思想,该操作经过优化,可以一次保存多个产品
Mage::getSingleton('catalog/product_action')
->updateAttributes(array($product->getId()), $attributesData, $storeId);
此代码仅更新要更改的属性。第一个参数是产品ID数组,第二个参数是属性名称和值数组,第三个参数是要更新的存储ID
这比保存整个模型快得多