SQL优化

原句,执行时间:2.78s
UPDATE pro_ProductEvaluate
SET hasPic = 1
WHERE
ID IN (
SELECT
c.ID
FROM
(
SELECT
a.ID
FROM
pro_ProductEvaluate a
INNER JOIN pro_ProductEvaluateImage b ON a.ID = b.pro_ProductEvaluateID
WHERE
1 = 1
AND a.CreateTime >= '2016-06-03 01:05:00'
AND a.hasPic IS NULL
AND b.State = 1
) c
)

 

 

优化后:执行时间:0.38s
update pro_ProductEvaluate
set hasPic=1
where CreateTime>= '2016-06-03 01:05:00' and hasPic is null
and exists(
select 1 from pro_ProductEvaluateImage b
where b.State=1 and pro_ProductEvaluate.id=b.pro_ProductEvaluateID
)

posted @ 2016-06-08 11:20  __Yoon  阅读(96)  评论(0编辑  收藏  举报