magento - Magento 中的保存需要很长时间

标签 magento

在 Magento 中,我编写了许多小型命令行脚本来执行诸如在许多产品上设置新属性之类的操作。我发现更新 900 个产品大约需要 6 个小时才能完成。

加载各个产品所需的时间与我所期望的一样快,但是进行更改后的保存操作需要很长时间。

我附上了我如何加载产品,以防我可以采取一些措施来更好地优化流程。如有任何帮助,我们将不胜感激。

$product = Mage::getModel('catalog/product')->load($magento_id);
$product->setMadeInUsa(1);
try {
    $product->save();
} catch(Exception $e) {
    echo "ERROR: " . $e->getMessage() . "\n";
}

代码运行没有错误,但需要很长时间。

最佳答案

Mage::getSingleton('catalog/product_action')
            ->updateAttributes(array($product->getId()), $attributesData, $storeId);

此代码仅更新您要更改的属性。第一个参数是产品 ID 数组,第二个参数是属性名称和值数组,第三个参数是您要更新的商店 ID。

这比保存整个模型要快得多。

关于magento - Magento 中的保存需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669211/

相关文章:

Magento:覆盖 Sitemap 模型类函数

mysql - 禁用所有模块输出,寻找重新启用它们的方法

Magento 2 错误消息 'This is a required field'

移动后的Magento重定向问题

mysql - Magento 向左连接

Magento 设置订阅者的名字和姓氏

layout - Magento:如何使用 XML 布局更新仅更新 block 参数

magento - 为什么 Magento 不再为我的旧产品生成缓存图像

Magento:我可以通过 quoteId 加载购物车吗?

php - SQLSTATE[42000] : Syntax error or access violation: 1064?