SQL:利用多表更新优化子查询
原SQL:
update bi_data.order_list_wx
set is_start='1',proc_time=now()
where 1=1
and is_end='0'
and 交易时间<'{{开始日期}}'
and 商户订单号 in
(
select 商户订单号
from
(
select 商户订单号
from bi_data.order_list_wx
where 1=1
and is_end='0'
and 交易时间>='{{开始日期}}' and 交易时间<'{{截止日期}}'
and 商品名称 like '四部曲APP%'
) tt
)
优化:利用多表更新关联优化代码:
update bi_data.order_list_wx a join
(
select 商户订单号
from bi_data.order_list_wx
where 1=1
and is_end='0'
and 交易时间>='{{开始日期}}' and 交易时间<'{{截止日期}}'
and 商品名称 like '四部曲APP%'
) b on a.商户订单号=b.商户订单号
set is_start='1',proc_time=now()
where a.is_end='0' and 交易时间<'{{开始日期}}'
本文来自博客园,作者:xiaoyongdata(微信号:xiaoyongdata),转载请注明原文链接:https://www.cnblogs.com/xiaoyongdata/p/15709586.html