Performance 更新一个性能良好的产品
我想知道为什么每个产品的更新都需要10秒! 即使不更新任何内容,也只需按“保存”按钮 我发现在产品上有一个观察者 名称为:applyAllRulesOnProduct 因此,即使你不改变价格,它也适用于你对该产品的所有促销! 不仅如此,它还更新了所有的报价! 后者需要2秒左右的时间,每次更新需要4次! 以下是查询:Performance 更新一个性能良好的产品,performance,magento,Performance,Magento,我想知道为什么每个产品的更新都需要10秒! 即使不更新任何内容,也只需按“保存”按钮 我发现在产品上有一个观察者 名称为:applyAllRulesOnProduct 因此,即使你不改变价格,它也适用于你对该产品的所有促销! 不仅如此,它还更新了所有的报价! 后者需要2秒左右的时间,每次更新需要4次! 以下是查询: UPDATE `sales_flat_quote` AS `t1` INNER JOIN (SELECT `t2`.`quote_id` AS `entity_id` FROM `
UPDATE `sales_flat_quote` AS `t1`
INNER JOIN (SELECT `t2`.`quote_id` AS `entity_id` FROM `sales_flat_quote_item` AS `t2`
INNER JOIN `catalogrule_product_price` AS `t3`
WHERE (t2.product_id = t3.product_id) GROUP BY `quote_id`) AS `t2` ON t1.entity_id = t2.entity_id
SET `t1`.`trigger_recollect` = 1"
我想知道为什么它会这样做,更新所有报价而不更新价格?
我称之为虫子。
Magento应该检查哪个字段已更新
顺便说一句,magento从不清空sales_flate_quote表,即使我配置了自动清理日志。
因此,一个“解决方案”是删除5天前完成的所有报价:
从sales_flat_quote中删除,其中更新日期为Rod您可以通过以下方式禁用关联事件:
$product->setIsMassupdate(true);
$product->setExcludeUrlRewrite(true);
我相信您有非常旧的硬件或服务器加载了其他东西。因为我们没有这么大的产品来节省时间。我的配置:Bi Opteron AMD四核2350,8 GB RAM,HD 2 x 240 Go SSD Intel 520。Os:Mandriva 2010.2。你认为这是个坏服务器吗?:-)它是一个全SSD专用服务器。缓存已启用,并且var文件夹位于RAM中(会话、缓存等)!更新一个产品需要10秒,因为它必须更新报价,而且有很多报价。但是当你仅仅改变描述的时候,更新旧的引号是没有用的