Php Magento:通过cron作业导入/更新大量产品?

Php Magento:通过cron作业导入/更新大量产品?,php,magento,Php,Magento,我正在尝试从给定的XML文件(无Magento导入格式)将10000多种产品导入/更新到Magento 1.9。这是当前的工作流程: 在cron作业中,我每天凌晨1点下载一个XML文件。该文件包括10000多种产品。因此,我将使用PHP中的XMLReader类浏览XML文件。为了确定产品是否已经存在,我首先按sku加载产品,如下所示,然后检查是否已加载,如下所示: $product = Mage::getModel('catalog/product')->loadByAttribute('

我正在尝试从给定的XML文件(无Magento导入格式)将10000多种产品导入/更新到Magento 1.9。这是当前的工作流程:

在cron作业中,我每天凌晨1点下载一个XML文件。该文件包括10000多种产品。因此,我将使用PHP中的XMLReader类浏览XML文件。为了确定产品是否已经存在,我首先按sku加载产品,如下所示,然后检查是否已加载,如下所示:

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
if(!$product) { 
    // create the product
} else {
    // update the product
}
当然,这不是唯一的代码,但可能是我的瓶颈?代码永远按照我现在编写的方式运行。如何在3-4小时内快速进口10000多种产品

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


谢谢

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


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

我不太清楚,但这可能会对你有所帮助。怎么做?