0

Magento「catalog_product_entity_decimal」テーブルの更新クエリで問題が発生しています。商品価格を 1 時間ごとに動的に更新する必要があり、ストアには現在 50,000 個の商品があります。そのため、製品価格を保存して一括更新するというマジェントの方法に従わず、代わりに、結果を提供している「catalog_product_entity_decimal」テーブルで直接製品価格を更新しました。

私のクエリは次のようなものです。

47701 個の製品に更新するのに 1307.1874998760223 秒かかりました。これは約 20 分です。ライブ サイトの更新では遅すぎます。

ストアには正しく反映されましたが、更新に時間がかかりすぎるのが大きな問題です。また、このクエリの更新がなければ、このプロセスにかかる時間はわずかミリ秒です。したがって、このテーブルは時間がかかる問題であり、 47701製品に更新するのに8.5674998760223秒かかった、自分の目的のためにほぼ同じレコードを持つダミーテーブルの更新を更新しようとしました。

そのクエリは次のようなものです

$query = "UPDATE product_attributes val SET val.price = '$final_rounded_price' WHERE val.attr_id = $attr_id AND val.product_id = $product_id";

多かれ少なかれ同じ結果である別のサーバーで試しました。したがって、「catalog_product_entity_decimal」が表示されます。このテーブルには非常に多くの参照があり、時間がかかる理由であるに違いありません。

私は mysql 側の専門家ではないので、このテーブルで mysql の更新時間を短縮することはできませんでした。テーブル「catalog_product_entity_decimal」で更新クエリを実行して、価格を一括で更新する方法を教えてください。

参照用に、テーブル「catalog_product_entity_decimal」のスクリーンショットを添付します。

ここに画像の説明を入力

開発サーバーの構成: Cent os 6、php 5.3、8 GB RAM、Magento 環境 - 1.7.02 - コード/データベースを変更せずにデフォルト ストアを実行。

4

0 に答える 0