У меня есть около 50.000 записей для импорта в магазине Magento. Что я уже тестировал:
Файл составляет около 50 МБ.
- Сплит-файлы
- API
- Magento Classes
Разделение файла не повышает скорость импорта товаров.
Api очень медленные.
Классы Magento медленные.
Это фрагмент кода с использованием классов Magento:
// Build the product
$product->setIsMassupdate(true)
->setExcludeUrlRewrite(true)
->setManufacturer($this->addManufacturers(utf8_encode($record[4])))
->setSku($record[3])
->setAttributeSetId($this->attribute_set)# 9 is for default
->setTypeId(Mage_Catalog_Model_Product_Type::TYPE_SIMPLE)
->setName(utf8_encode($record[5]))
->setCategoryIds($this->getCategories(array($record[0], $record[1], $record[2]))) # some cat id's,
->setWebsiteIDs(array(1)) # Website id, 1 is default
->setDescription(utf8_encode($record[6]))
->setShortDescription($this->shortText(utf8_encode($record[6]), 150))
->setPrice($price) # Set some price
->setSpecialPrice($special_price)
->setWeight($record[12])
->setStatus( Mage_Catalog_Model_Product_Status::STATUS_ENABLED )
->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
->setTaxClassId(2) // default tax class
->setPixmaniaimg($record[10])
->setStockData(array('is_in_stock' => $inStock, 'qty' => $qty))
->setCreatedAt(strtotime('now'));
$product->save();
$ID = is_numeric($productID) ? $productID : $product->getId();
Таким образом, указанный выше метод верен, но он тратит около 5 часов, чтобы вставить только 2300 записей !!
Какие простые вставки SQL нужно выполнить в базе данных Magento для добавления нового продукта?