更新查询需要很长时间才能运行

eqfvzcg8  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(255)

我需要一些帮助,我正在使用一个查询(mysql)来更新另一个表。运行嵌套查询时,查询运行不到一秒钟。但只要我包含更新部分,就需要几个小时才能运行。我使用的查询如下:

UPDATE sys_reference.outlet_reference OUTREF LEFT JOIN
(SELECT 
    store_code 'storeCode'
,   LEFT(header_value,20) 'CoOrds' 
FROM 
    am_data_warehouse.am_headers 
WHERE 
    action_date = CURDATE()- 1 
AND header_field_id IN (3641, 4937)
) GPSCO 
ON OUTREF.store_code = GPSCO.storeCode 
SET OUTREF.gps_coordinates = GPSCO.CoOrds

下面是正在更新的表的结构:

6tr1vspr

6tr1vspr1#

我认为子查询对你没有任何帮助。我想你可以重写它来省略子查询。

UPDATE
    sys_reference.outlet_reference AS OUTREF
    INNER JOIN am_data_warehouse.am_headers AS GPSCO ON OUTREF.store_code = 
GPSCO.storeCode
SET
    OUTREF.gps_coordinates = LEFT(GPSCO.header_value,20)
WHERE
    GPSCO.action_date = CURDATE() - 1
    AND GPSCO.header_field_id IN (3641, 4937)

相关问题