我正在考虑改进magento中url重写的重建索引,我们有130k简单和可配置的产品。并且重新索引会消耗大量内存,基本上由于内存限制,我无法在comammnd行完成这项工作。
所以我开始寻找一些可以加速整个过程的解决方案。整个重新索引发生在Mage_Catalog_Model_Url::_refreshProductRewrite
中,因为系统会迭代所有产品,类别和商店。对于每次迭代,它可能会执行1或2次insertOnDuplicate
操作。
我正在考虑将这些查询存储在某个地方并将它们合并到一个或多个更大的查询中,这会更快(我猜)。
一个comibation(产品,类别,商店)的慢速位看起来像
$this->getResource()->saveRewrite($rewriteData, $this->_rewrite);
if ($this->getShouldSaveRewritesHistory($category->getStoreId())) {
$this->_saveRewriteHistory($rewriteData, $this->_rewrite);
}
有谁更好地了解如何改善这一点?
答案 0 :(得分:2)
我不能说我曾经使用过这个产品(而且我没有任何关联),但值得一看this module by EcomDev。从他们的posted tests看起来它很漂亮,它可能会为你节省很多工作。