使用内部联接进行批量更新会导致cpu使用率过高

时间:2015-09-22 01:09:42

标签: mysql inner-join

我正在对我的数据库运行查询

UPDATE oc_product
INNER JOIN mapprice on mapprice.UPC_Code = oc_product.upc
SET oc_product.price = mapprice.MAP_Price; 

其中mapprice有大约6万条记录,由两个字段组成,oc_product超过250k

当我查看当前的mysql进程时,我得到:

  

等待表级锁定|

     

SELECT DISTINCT *,pd.name AS name,p.image,m.name AS manufacturer,   (选择价格来自oc_product_d |

我的CPU使用天空火箭。

任何有助于使此查询运行更快的帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

我的调试方法是:

  • 检查mapprice是否有可能影响性能的触发器。
  • 确保mapprice.UPC_Codeoc_product.upc包含索引。