我有Magento的“catalog_product_entity_decimal”表更新询问的问题。 我需要动态地更新产品的价格每隔一小时,店内有〜50K的产品现在。 所以,我没有跟随产品价格Magento的方式保存到批量更新,而不是我跟着“catalog_product_entity_decimal”表,该表给出结果直接商品价格更新。
我的查询是这样的$查询= “UPDATE catalog_product_entity_decimal VAL SET val.value = '$ final_rounded_price' WHERE val.attribute_id = 75和val.entity_id = $ PRODUCT_ID”;
花了1307.1874998760223秒更新到47701分的产品。 这是近20分钟 - 当我们在直播网站更新做这太慢了。
这也反映了正确的商店,但时间太长更新这是很大的问题。 还没有该查询更新采取这一过程的时间仅为毫秒。 所以这个表是抽出时间然后我试图更新它具有几乎相同的记录我自己的目的历时8.5674998760223秒更新到47701个产品一些虚拟表更新的问题。
查询是这样的
$查询= “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”为基准的屏幕截图。
开发服务器配置:分为OS 6 PHP 5.3,8 GB RAM,Magento的环境 - 02年7月1日 - 运行默认存储无需代码/ DB任何变化。