美文网首页
Update用join代替in优化执行效率

Update用join代替in优化执行效率

作者: CNSTT | 来源:发表于2021-09-27 17:26 被阅读0次

    优化前 in

    UPDATE tt_repair_order r
    SET r.is_upload_cia = 12781001,
     r.upload_cia_by = 3,
     r.upload_cia_date = SYSDATE()
    WHERE
        r.ro_id IN (
            SELECT
                ro_id
            FROM
                tt_vehicle_Record_temp
        );
    

    即使用到的是主键索引仍然很慢


    explain

    优化后 join

    UPDATE tt_repair_order r
    JOIN (
     SELECT
      ro_id
     FROM
      tt_vehicle_Record_temp
    ) temp ON r.ro_id = temp.ro_id
    SET r.is_upload_cia = 12781001,
     r.upload_cia_by = 3,
     r.upload_cia_date = SYSDATE();
    

    用时在毫秒级


    explain

    相关文章

      网友评论

          本文标题:Update用join代替in优化执行效率

          本文链接:https://www.haomeiwen.com/subject/mdcknltx.html