我正在考虑改进 magento 中 url 重写的重新索引,我们有 130k 简单且可配置的产品。并且重新索引会消耗大量内存,基本上由于内存限制,我无法在命令行中完成这项工作。
所以我开始寻找一些可以加快整个过程的解决方案。整个重新索引正在发生,Mage_Catalog_Model_Url::_refreshProductRewrite
因为系统迭代了所有产品、类别和商店。对于每次迭代,它可能会执行 1 或 2 个insertOnDuplicate
操作。
我正在考虑将此类查询存储在某处并将它们合并到一个或多个更大的查询中,这会更快(我猜)。
一个组合(产品,类别,商店)的慢位看起来像
$this->getResource()->saveRewrite($rewriteData, $this->_rewrite);
if ($this->getShouldSaveRewritesHistory($category->getStoreId())) {
$this->_saveRewriteHistory($rewriteData, $this->_rewrite);
}
有没有人更好地知道如何改善这一点?