首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento:通过cron作业进口/更新许多产品?

Magento:通过cron作业进口/更新许多产品?
EN

Stack Overflow用户
提问于 2015-03-30 07:05:58
回答 1查看 759关注 0票数 1

我正在尝试从给定的10000+文件(,no Magento导入格式)中将产品导入/更新到Magento1.9。这是当前的工作流:

在cron的工作中,我每天凌晨1点下载一个XML文件。此文件包括10000+产品。因此,我正在使用来自PHP的XMLReader类来查看XML文件。为了确定产品是否已经存在,我首先使用sku加载产品,就像这样,然后我检查它是否已加载,如下所示:

代码语言:javascript
复制
$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
if(!$product) { 
    // create the product
} else {
    // update the product
}

当然,这不是唯一的代码,但可能是我的瓶颈?这段代码就像我现在写的那样永远在运行。对于如何快速(可能在3-4小时内)进口10000+产品,有什么想法吗?

我不能使用magmi或导入工作流,因为导入必须在夜间通过cron作业运行。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-30 09:49:01

首先,关于数据库中的产品实体存储:所有内容都使用EAV模式存储,这意味着您可以向产品实体添加任意属性,它们被视为与产品表中的另一列大致等效的属性。然而,它们实际上存储在一组表中,当您请求一个产品模型时,这些表就必须连接起来(所以您要跨几个大表,10000+时间)。

幸运的是,有一种以平面表的形式解决这一问题的方法--这些表采用自定义属性,并创建一个包含所有产品属性(配置为“在产品列表中使用”选项)的表。您的瓶颈可能是您没有使用此产品平面表(在“目录”部分下的系统配置中启用它)。它应该在打开后自动重新构建平面表,如果不是,则需要从Index手动重新索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29340205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档