私は、magento での URL 書き換えの再インデックス化を改善することを考えています。130k のシンプルで構成可能な製品があります。また、インデックスの再作成は多くのメモリを消費します。基本的に、メモリの制限により、コマンドラインでこのジョブを完了することができません。
そこで、プロセス全体を高速化できるソリューションを探すことから始めました。Mage_Catalog_Model_Url::_refreshProductRewrite
システムがすべての製品、カテゴリ、店舗を反復処理するため、全体の再インデックスが行われています。そして、反復ごとに、1 つまたは 2 つinsertOnDuplicate
のアクションを実行する可能性があります。
そのようなクエリをどこかに保存し、それらを1つ以上のより大きなクエリにマージして、はるかに高速にすることを考えています(推測)。
1つのcomibation(製品、カテゴリ、ストア)のスロービットは次のようになります
$this->getResource()->saveRewrite($rewriteData, $this->_rewrite);
if ($this->getShouldSaveRewritesHistory($category->getStoreId())) {
$this->_saveRewriteHistory($rewriteData, $this->_rewrite);
}
これを改善する方法をもっとよく考えている人はいますか?