MySQL exists 優化 in 效率
EXISTS用於檢查子查詢是否至少會返回一行資料,該子查詢實際上並不返回任何資料,而是返回值True或False
原句,執行時間: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
)
原句,執行時間: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
)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-2117318/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【MySQL】NOT EXISTS優化的一個案例MySql優化
- 對IN & EXISTS NOT IN & NOT EXISTS的優化優化
- in/exists和not in/not exists執行效率
- MYSQL 中 exists 語句執行效率變低MySql
- mysql update join優化update in查詢效率MySql優化
- exists與in子查詢優化優化
- MYSQL order by排序導致效率低小優化MySql排序優化
- IN&EXISTS與NOT IN&NOT EXISTS 的優化原則的討論優化
- Kettle Table Exists控制元件優化控制元件優化
- oracle之優化一用group by或exists優化distinctOracle優化
- NOT IN、JOIN、IS NULL、NOT EXISTS效率對比Null
- Mysql優化原則_小表驅動大表IN和EXISTS的合理利用MySql優化
- Mysql 優化——分析表讀寫和sql效率問題MySql優化
- 巧用這19條MySQL優化,效率至少提高3倍MySql優化
- 使用exists(Semi-Join)優化distinct語句優化
- Webpack打包效率優化篇Web優化
- MySQL之in與existsMySql
- 關於mysql執行效率優化注意事項及要點MySql優化
- mysql優化MySql優化
- Mysql 優化MySql優化
- mysql的left join和inner join的效率對比,以及如何優化MySql優化
- Laravel的unique和exists驗證規則的優化Laravel優化
- 一個NOT EXISTS含有OR條件子查詢的優化優化
- Serverless X OpenKruise 部署效率優化之道ServerUI優化
- 資料庫的優化和效率資料庫優化
- 優化資料庫EXP的效率優化資料庫
- (mysql優化-3) 系統優化MySql優化
- MySQL 效能優化之索引優化MySql優化索引
- MySQL優化-安裝配置優化MySql優化
- MySQL 效能優化之SQL優化MySql優化
- Oracle優化案例-用left join代替反連線 not in not exists(十)Oracle優化
- Oracle學習系列—資料庫優化—In和Exists的使用Oracle資料庫優化
- MySQL(二) MySql常用優化MySql優化
- 【MySQL】淺談MySQL優化MySql優化
- mysql效能優化MySql優化
- MySQL優化面試MySql優化面試
- mysql優化(一)MySql優化
- mysql order by 優化MySql優化